overview of 360-degree video standards and efficient

81
1 © 2017 Gachon University. All rights reserved. Overview of 360-degree Video Standards and Efficient Streaming Technologies Aug. 29. 2017 1VR/AR 비디오 표준 기술 및 통신 네트워크 융합 강좌 @가천대학교 가천관 B1 대강당 Eun-Seok Ryu (류은석; [email protected]) Multimedia Communications and Systems Lab(MCSL) http://mcsl.gachon.ac.kr Department of Computer Engineering Gachon University

Upload: others

Post on 16-Oct-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

1 © 2017 Gachon University. All rights reserved.

Overview of 360-degree Video Standards

and Efficient Streaming Technologies

Aug. 29. 2017

제1회 VR/AR 비디오 표준 기술 및 통신 네트워크 융합 강좌@가천대학교 가천관 B1 대강당

Eun-Seok Ryu (류은석; [email protected])

Multimedia Communications and Systems Lab(MCSL)

http://mcsl.gachon.ac.kr

Department of Computer Engineering

Gachon University

2 © 2017 Gachon University. All rights reserved.

Contents

• 이론• HEVC and SHVC Standards

• 360 Video Processing for Virtual Reality (VR)

• 실습포함• HM Reference SW and Common Test Condition (CTC)

• JVET 360Lib Tools for 360-degree Video

3 © 2017 Gachon University. All rights reserved.

1. 이론:

HEVC and SHVC Standards

4 © 2017 Gachon University. All rights reserved.

Organization

• ISO/IEC JTC1 SC29 MPEG

• ISO (International Organization for Standardization)

• IEC (International Electrotechnical Commission)

• JTC 1/SC 29 (Subcommittee of the Joint Technical Committee); Topic: Coding of

audio, picture, multimedia and hypermedia information

• MPEG (Moving Picture Experts Group)

• ITU-T VCEG

• ITU (International Telecommunication Union)

• ITU-T (ITU Telecommunication Standardization Sector)

• VCEG (Video Coding Experts Group)

• Joint Collaboration Effort (MPEG with VCEG)

• JVT (Joint Video Team): H.264/AVC, MPEG-4 Part 10

• JCT-VC (Joint Collaborative Team on Video Coding)• MPEG-H Part 2, H.265/HEVC

• JVET (Joint Video Exploration Team)• FVC (Future Video Coding)

5 © 2017 Gachon University. All rights reserved.

JCT-VC Document Management System

• URL: http://phenix.int-evry.fr/jct/

6 © 2017 Gachon University. All rights reserved.

Service Menus

• All Meetings• 4 times / year (normally, Jan.-Feb., Mar.-Apr., Jun.-Jul., Oct.-Nov.)

• Next Meeting Proposal template download

7 © 2017 Gachon University. All rights reserved.

Document Register System Details

• JCTVC-(Meeting Letter) (Document Number)

• e.g. JCTVC-X0001

• Also provides MPEG number: m (document number)

• e.g. m28763

• AHG(Ad-hoc group) and CE (Core Experiment) Reports: Normally with

documents number 0001 ~ 002X

• Overall Meeting Report and Standard Draft by Editors: Normally with

documents number 1000 ~ 102X

• well…Strategy? (could ruin the fair competition system)

• Registration with vague proposal title first.

• Update the proposal title and upload documents on meeting.

8 © 2017 Gachon University. All rights reserved.

Document Types and Example

• Technical Proposal

• For future patent licensing / own product

protecting

• CTC (Common Test Condition) proposal

• Cross Check Document

• To verify the proposal from other

company/institute

• Experiment multiple test sets / check

proposal documents consistency

Zip compressed file- Proposal Document (.docx)- Presentation Slides (.ppt)- Excel spread sheets with

experimental results (.xls)

Presentation Slides

Proposal Documents with Patent rights declaration

9 © 2017 Gachon University. All rights reserved.

Common Test Condition (CTC) - HEVC

• Huge test points

• 24 Test sequences (Class A ~ F) x 3 coding

structure (AI, RA, LD-B, LD-P (option)) x 4 QPs x

2 (Results of proposed and control groups)

• Early days, there were High / Low profiles in

HEVC (later, only Main profile): x2 times

• Currently, main profile and High efficiency (10 bit)

profile• Intra, main

• Intra, high efficiency, 10 bit

• Random access, main

• Random access, high efficiency, 10 bit

• Low delay, main

• Low delay, high efficiency, 10 bit

• Low delay, main, P slices only (optional)

• Low delay, high efficiency, P slices only, 10 bit (optional)

• QP values: 22, 27, 32, and 37

Class Sequence nameResolution

Frame count

Frame rate

Bit depth

Intra Random access

Low-delay

A Traffic2560x1600

150 30fps 8 Main/ Main10

Main/ Main10

A PeopleOnStreet2560x1600

150 30fps 8 Main/ Main10

Main/ Main10

A Nebuta2560x1600

300 60fps 10 Main/ Main10

Main/ Main10

A SteamLocomotive2560x1600

300 60fps 10 Main/ Main10

Main/ Main10

B Kimono1920x1080

240 24fps 8 Main/ Main10

Main/ Main10

Main/ Main10

B ParkScene1920x1080

240 24fps 8 Main/ Main10

Main/ Main10

Main/ Main10

B Cactus1920x1080

500 50fps 8 Main/ Main10

Main/ Main10

Main/ Main10

B BQTerrace1920x1080

600 60fps 8 Main/ Main10

Main/ Main10

Main/ Main10

B BasketballDrive1920x1080

500 50fps 8 Main/ Main10

Main/ Main10

Main/ Main10

C RaceHorses832x480

300 30fps 8 Main/ Main10

Main/ Main10

Main/ Main10

C BQMall832x480

600 60fps 8 Main/ Main10

Main/ Main10

Main/ Main10

C PartyScene832x480

500 50fps 8 Main/ Main10

Main/ Main10

Main/ Main10

C BasketballDrill832x480

500 50fps 8 Main/ Main10

Main/ Main10

Main/ Main10

D RaceHorses416x240

300 30fps 8 Main/ Main10

Main/ Main10

Main/ Main10

D BQSquare416x240

600 60fps 8 Main/ Main10

Main/ Main10

Main/ Main10

D BlowingBubbles416x240

500 50fps 8 Main/ Main10

Main/ Main10

Main/ Main10

D BasketballPass416x240

500 50fps 8 Main/ Main10

Main/ Main10

Main/ Main10

E FourPeople1280x720

600 60fps 8 Main/ Main10

Main/ Main10

E Johnny1280x720

600 60fps 8 Main/ Main10

Main/ Main10

E KristenAndSara1280x720

600 60fps 8 Main/ Main10

Main/ Main10

F BaskeballDrillText832x480

500 50fps 8 Main/ Main10

Main/ Main10

Main/ Main10

F ChinaSpeed1024x768

500 30fps 8 Main/ Main10

Main/ Main10

Main/ Main10

F SlideEditing1280x720

300 30fps 8 Main/ Main10

Main/ Main10

Main/ Main10

F SlideShow1280x720

500 20fps 8 Main/ Main10

Main/ Main10

Main/ Main10

*Document#: JCTVC-L1100

10 © 2017 Gachon University. All rights reserved.

Common Test Condition (CTC) - SHVC

• Scalable HEVC• Spatial scalabilities (2x, 1.5x), and SNR scalabilities (using QPs) for both HEVC and AVC layers

• QP values:

Mandatory test

conditions

Intra, spatial 2xIntra, spatial 1.5xRandom access, spatial 2xRandom access, spatial 1.5xRandom access, SNRLow delay, B slices, spatial 2xLow delay, B slices, spatial 1.5xLow delay, B slices, SNR

Optional test conditions

Low delay, P slices only, spatial 2xLow delay, P slices only, spatial 1.5xLow delay, P slices only, SNR

Scalability ratio BL QP EL delta QP

Spatial 2x and 1.5x 22, 26, 30, 34 0, 2

SNR 26, 30, 34, 38 -6, -4

* Document#: JCTVC-Q1009

Class Sequence nameFrame count

Frame rate, Hz

BL resolution

EL resolution

IntraRandom access

Low-delay P or B

A Traffic 150 301280x800

2560x1600

2560x1600

2560x1600

Spatial 2x Spatial 2x

SNR

Spatial 2x

SNR

A PeopleOnStreet 150 301280x800

2560x1600

2560x1600

2560x1600

Spatial 2x Spatial 2x

SNR

Spatial 2x

SNR

B Kimono 240 24

960x540

1280x720

1920x1080

1920x1080

1920x1080

1920x1080

Spatial 2x

Spatial 1.5x

SNR

Spatial 2x

Spatial 1.5x

SNR

Spatial 2x

Spatial 1.5x

SNR

B ParkScene 240 24

960x540

1280x720

1920x1080

1920x1080

1920x1080

1920x1080

Spatial 2x

Spatial 1.5x

SNR

Spatial 2x

Spatial 1.5x

SNR

Spatial 2x

Spatial 1.5x

SNR

B Cactus 500 50

960x540

1280x720

1920x1080

1920x1080

1920x1080

1920x1080

Spatial 2x

Spatial 1.5x

SNR

Spatial 2x

Spatial 1.5x

SNR

Spatial 2x

Spatial 1.5x

SNR

B BasketballDrive 500 50

960x540

1280x720

1920x1080

1920x1080

1920x1080

1920x1080

Spatial 2x

Spatial 1.5x

SNR

Spatial 2x

Spatial 1.5x

SNR

Spatial 2x

Spatial 1.5x

SNR

B BQTerrace 600 60

960x540

1280x720

1920x1080

1920x1080

1920x1080

1920x1080

Spatial 2x

Spatial 1.5x

SNR

Spatial 2x

Spatial 1.5x

SNR

Spatial 2x

Spatial 1.5x

SNR

11 © 2017 Gachon University. All rights reserved.

Experimental Results under CTC

• Example: JCT-VC J0034 for Scalable HEVC by InterDigital• Excel Spread Sheets under CTC (note: provides summary table and plots automatically)

• Decoding Time Results

12 © 2017 Gachon University. All rights reserved.

Example of Meeting Notes

• JCTVC-W1000-v2

• Title: Meeting report of the 23rd meeting of the Joint Collaborative Team on Video

Coding (JCT-VC), San Diego, US, 19–26 Feb. 2016

• Author: Gary Sullivan (Microsoft / VCEG side) and Jens-Rainer Ohm (RWTH Aachen

University / MPEG side)

Proposal

Decision by chairs

13 © 2017 Gachon University. All rights reserved.

HEVC Links (arranged by Fraunhofer HHI)

• HEVC webpage by HHI Fraunhofer (http://hevc.info/) – to be updated after meetings

• JCT-VC documents: http://phenix.int-evry.fr/jct/

• ITU-T Recommendation H.265: High Efficiency Video Coding: http://www.itu.int/rec/T-

REC-H.265

• Common Test Conditions and Software Reference Configurations for HM (HEVC

Reference Tool): http://phenix.it-

sudparis.eu/jct/doc_end_user/current_document.php?id=7281

• HEVC Reference SW (HM): https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware

• HM software manual:

https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/trunk/doc/software-manual.pdf

• HEVC Software Development Guidelines (JCTVC-H1001): http://phenix.int-

evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1001-v1.zip

Extra:

• JCT-VC Bitstream directory: ftp://ftp.kw.bbc.co.uk/hevc/

• Test Sequences (ID/password required): ftp://ftp.tnt.uni-hannover.de/testsequences

• (Extra) RTP Payload Format for HEVC by IETF: https://tools.ietf.org/html/rfc7798

• Github OpenHEVC Decoder SW: https://github.com/OpenHEVC/openHEVC

14 © 2017 Gachon University. All rights reserved.

SHVC Links

• Scalable HEVC (= HEVC Scalable Extension) – finalized in Oct. 2014.

• Same Repositories with HEVC.

• Login information is required for ftp sites.

• Common SHM test conditions and software reference configurations (JCTVC-

Q1009): http://phenix.it-

sudparis.eu/jct/doc_end_user/current_document.php?id=9106

• SHM (SHVC reference SW) repository:

https://hevc.hhi.fraunhofer.de/svn/svn_SHVCSoftware/

• Test sequences: ftp://[email protected]/testsequences/ and

ftp://[email protected]/scalable/sequences/

• AVC base layer bitstreams: ftp://[email protected]

hannover.de/scalable/bitstreams/AVC_CTC

• Latest SHM SW version 12.0

• Simple usage:

TAppEncoder -c cfg/encoder_randomaccess_scalable.cfg -c cfg/per-sequence-svc/BasketballDrive-2x.cfg -c cfg/layers.cfg -q0 22 -q1 22 -b str/BasketballDrive.bin -o0 rec/BasketballDrive_l0_rec.yuv -o1 rec/BasketballDrive_l1_rec.yuv TAppDecoder -b str/BasketballDrive.bin -ls 2 -o0 rec/BasketballDrive_l0_drec.yuv -o1 rec/BasketballDrive_l1_drec.yuv For AVC base layer tests the following should be used: cfg/layers_avcbase.cfg configuration file -ibl <BLrecon.yuv> option to specify the reconstructed base layer input

15 © 2017 Gachon University. All rights reserved.

The History of Video Coding Standards

201420121988 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2010 2016

H.261

MPEG-1

H.263

MPEG-4Part 2

MPEG-2/H.262

JOINT

H.264/MPEG-4 Part 10 (AVC)

HEVCH.264/MPEG-4 AVC

SVC & MVC Ext.

HEVC SVC & MVC Ext.

MPEG-4 Version 2

H.263 + H.263 ++VideoConference

PMP

UHD,Mobile FHD

VC-2VC-1

(from WMV) (from Dirac)

AdobeFlash Video

(8K)

*김찬열, HEVC Overview, 삼성전자 DMC 연구소, Dec. 2014.

16 © 2017 Gachon University. All rights reserved.

High Efficiency Video Coding (HEVC)

• ISO/IEC and ITU-T: The Joint Collaborative Team on Video Coding (JCT-VC)

• JCT-VC에서 2013년에 새롭게 제정한 국제 비디오 표준

• 기존 H.264/AVC 대비 약 50% 압축 효율 향상

• 4K/8K Ultra High Definition (UHD) 비디오 지원

• 새로운 coding tree 구조 및 병렬 tools

Divide intocoding units

(CU) withquad tree-based

partitioning

Divide intotransform units

(TU) withquad tree-based

partitioning

Divide intoprediction units

(PU) withquadrant and

asymmetric motion partitioningIn transform phase In prediction phase

17 © 2017 Gachon University. All rights reserved.

Typical HEVC Video Encoder

Decoded Picture Buffer

Inter-Picture Prediction

Intra-Picture Prediction

DeblockingFilter

Sample Adaptive

Offset(SAO)

Inverse Transform

De-quantization

Transform Quantization Entropy Coding+

+

CodedBitstream

Input Video Signal (Splited into CTUs)

18 © 2017 Gachon University. All rights reserved.

Block Partitioning for Prediction and Transform Coding

CTU

TU

CU

PU

HEVC가지원하는 4종류의블록

CTU: 슬라이스를 구성하는 한 개 이상의 블록

CU(코딩의 기본 단위): CTU를 구성하는 한 개이상의 블록

PU(예측의 기본 단위): CU를 분할하여 생성한한 개 이상의 블록

TU(변환의 기본 단위): CU를 분할하여 생성한한 개 이상의 블록

• HEVC는 Block-based hybrid video coding 구조로 설계됨

• 기존 H.264/AVC는 16x16이라는 고정적인 크기의 Macroblock을 기반으로Encoding 및 Decoding

• HEVC는 64x64, 32x32, 16x16의 가변적인 크기를 갖는 CTU를 사용

• CU = Luma CB(Coding Block), Cb CB, Cr CB로 구성

19 © 2017 Gachon University. All rights reserved.

HEVC Parallelization Tools

• Existing Parallelization Techniques• Picture-Level Parallelization

• Slice-Level Parallelization

• Block-Level Parallelization

• New Parallelization Tools in HEVC• Tiles

• Wavefront Parallel Processing (WPP)

Video Sequence

Pic1 Pic2 Pic4Pic3

. . .

CPUCore

1Core

3

Picture-Level Parallelization의예시

Core2

Core4

Block-level Parallelization의예시(Macroblock-level Pipeline)

Core1 Core3Core2

dedicated forprediction

dedicated forin-loop filter

dedicated forentropy coding

20 © 2017 Gachon University. All rights reserved.

Tile & WPP Parallelization

• Tile Parallelization

• Picture를 가변적인 크기의 사각형으로 분할

• Tile간에 의존성을 갖지 않으며, 헤더를추가로 사용하지 않음

• Wavefront Parallel Processing (WPP)

Parallelization

• CTU Row 단위의 병렬 처리 기법

• CTU간의 의존성을 고려한 병렬처리 기법

Thread1

Tile Parallelization

Thread2 Thread3 Thread4

21 © 2017 Gachon University. All rights reserved.

Intra-Picture Prediction

Mode 0: Intra_Planar

Mode 1: Intra_DC+

휘도성분의 35가지예측모드 Directional prediction의예시

Current PU

Boundary samplesfrom decoded PUs

• Picture를 구성하는 각 픽셀들 간의 Spatial redundancy를 제거

• HEVC는 35가지의 Intra-picture prediction 모드를 지원

• 임의 접근 및 에러 강인성을 위해 영상 중간 중간에 삽입

22 © 2017 Gachon University. All rights reserved.

Inter-Picture Prediction

Pic1 Pic2 Pic4Pic3

. . .

Pic1 Pic2 Pic4Pic3

. . .

Uni-prediction의예시 Bi-prediction의예시

• Video sequence를 구성하는 Picture들 간의 Temporal redundancy를 제거

• Reference Picture List에서 현재 블록과 유사한 예측 블록을 선택하여 현재PU와의 Residual을 부호화

• P-Slice는 단방향 예측(Uni-prediction) 수행, B-Slice는 양방향 예측(Bi-prediction) 수행

23 © 2017 Gachon University. All rights reserved.

Transform and Quantization

• HEVC Transform

• 비디오 압축에서의 변환 부호화는 공간 영역(Spatial domain)의 신호를주파수 영역(Frequency domain)의 신호로 변경하여 표현하는 것

• HEVC는 4x4, 8x8, 16x16, 32x32 크기의 TU에 DCT(Discrete Cosine

Transform) 적용

• 4x4 크기의 TU는 예외적으로 DST(Discrete Sine Transform) 적용 가능

• HEVC Quantization•Quantization은 비디오 압축 기술에서 유일하게 정보의 손실이 발생되는단계

•Transform의 결과로 구해진 변환 계수를 몇 개의 대표 값으로 근사화 하는과정

24 © 2017 Gachon University. All rights reserved.

In-loop Filters

• Encoding/Decoding loop에 포함된 화질 개선용 필터

• HEVC에는 Deblocking filter와 SAO(Sample Adaptive Offset)라는 2가지필터가 적용

• Deblocking filter는 블록 간의 불연속성(Block artifact)의 제거를 목표로 함

• SAO는 Ringing artifact의 제거를 목표로 함

Loop Filter 적용예

25 © 2017 Gachon University. All rights reserved.

Scalable Video Coding (SVC)

• Supports various device capabilities with single

bitstream

• Reduces total BW

SVC < AVC (around 20%, for 3 Spatial layers)

• No transcoding, No duplicated contents for

every target bitrates

Temporal

Decomposition

Transform/

Entropy coding

Motion

coding

2D spatial

upsampling

Intra prediction

for intra block

Temporal

Decomposition

Transform/

Entropy coding

Motion

coding

Intra prediction

for intra block

2D spatial

Down-

sampling

QP1

QP2 Mu

ltiplex

motion

info.

Video

input

Enhancement Layer Encoder

Base Layer Encoder

SVC

Bitstream

Base Layer

Enhancement Layer n

Enhancement Layer n’

HDTV

Laptop

Mobile

High quality,

Resolution, and

temporal video

Medium quality,

Resolution, and

temporal video

Low quality,

Resolution, and

temporal video

Enhancement Layer Encoder

2D spatial

Down-

sampling

26 © 2017 Gachon University. All rights reserved.

Scalable HEVC (SHVC)

• Higher-layer decoding picture buffer (DPB) uses lower-layer’s

reconstructed picture

• Simple / easy to deploy

Base layer

Enhancement layer

Inter-layer referencepicture

Typical SHVC Encoder Inter-layer Prediction

*US20140010294 A1 (InterDigital Patent Application /2014)

27 © 2017 Gachon University. All rights reserved.

2. 이론:

360 Video Processing for Virtual Reality (VR)

28 © 2017 Gachon University. All rights reserved.

Emerging 360-Degree Video

• Digital Camera 기반의 360 Degrees Video Systems는 최근 크게 주목

• 최근 360 Degree Video Viewer로서 다양한 HMD들이 출시

다양한 HMD의등장(Gear VR, Oculus Rift, Cardboard VR Kit, PlayStation VR)

360 Degree Video의예시

29 © 2017 Gachon University. All rights reserved.

HMD Revenues by Device Type

• World Market, Forecast: 2014 to 2020 (Source: ABI Research)

Device Type Revenues 2014 2015 2016 2017 2018 2019 2020

VR Standalone (US$ Thousands) 935 3,980 19,504 94,592 269,586 501,431 902,575

VR Mobile (US$ Thousands) 55,250 164,093 321,621 561,551 853,557 1,190,712 1,607,462

VR Tether (US$ Thousands) 55,250 111,605 876,546 1,938,042 3,038,851 4,691,985 6,906,602

Enterprise Smart

Glasses

(US$ Thousands) 576,790 1,051,088 2,046,876 3,849,328 6,715,196 9,522,589 11,693,589

Consumer Smart

Glasses

(US$ Thousands) 148,317 27,280 526,339 989,827 1,726,765 2,448,666 3,006,923

Total (US$ Thousands) 836,543 1,601,046 3,790,886 7,433,340 12,603,955 18,355,383 24,117,151

30 © 2017 Gachon University. All rights reserved.

Mobile VR? (source: ABI Research + MCSL조사 2016년 기준)

DEVICE HMD TypeDisplay Type

DisplayResolution

RefreshRate

Field of View

AudioPosition Tracking

Head Tracking InputRelease Date

Price

Oculus Rift CV1

VR tethered

- 2160X1200 90 Hz -Built-in

Headphones

IR Camera 360°

GyroscopeAccelerometer Magnetometer

OculusTouch

Standard controller

Q1 2016US$400(est.)

HTC ViveVR

tethered- 2160X1200 90 Hz 110°

Headphone jack

Lighthouse basestation

360°

GyroscopeAccelerometer Magnetometer

Lighthouse controllers Standard controller

Nov 2015

US$500(est.)

Sony’s Project

Morpheus

VR tethered

OLED 1920X1080 120 Hz 100°Headphone

jackIR Camera

360°Gyroscope

Accelerometer

Standard controllerPS Move

1Q 2016US$400(est.)

FOVEVR

tetheredWQHD 2560X1440 90 Hz 100°

Headphone jack

Lighthouse basestation

360°

GyroscopeAccelerometer Magnetometer

Eye tracking Standard controller Lighthouse controllers

May 2016

US$399

OSVRVR

tetheredQLED 1920X1080 60 Hz 100° None

IR Camera 210°

GyroscopeAccelerometer

Compass

No standard input

Available now

US$200to

US$300

Google Cardboard

VR mobileDependenton phone

Dependenton phone

Dependenton phone

Dependenton phone

Headphone jack

NoneDependent on

phoneSingle button

Available now

US$5 to US$20

LG 360 VR VR mobile IPS LCD920X720per Eye

- 80°Headphone

jackNone

Gyroscope Accelerometer

2 Buttons(Back, Select)

Available now

US$199(plus

phone)

Samsung Gear VR

VR mobileSuper

AMOLED2560X1440 60 Hz 96°

Headphone jack

NoneGyroscope

Accelerometer Magnetometer

Standard controller Touchpad

Available now

US$199 (plus

phone)

Mattel View-Master

VR mobileDependent on phone

Dependenton phone

Dependenton phone

Dependenton phone

Headphone jack

NoneDependent on

phoneSingle button

Available now

US$30

ZEISS VR ONE

VR mobileDependent on phone

Dependenton phone

Dependenton phone

Dependenton phone

Headphone jack

NoneDependent on

phoneNone

Available now

US$99

StarVRVR

tetheredLCD 5120X1440 - 210°

Headphone jack

IR camera Fiducial markers

360°

GyroscopeAccelerometer Magnetometer

No standard input

31 © 2017 Gachon University. All rights reserved.

1도당 들어가는 픽셀 수

4K 수직 해상도의 4배

90fps는 저지연을 통해 메스꺼움을 방지할 수 있음

요구사항 부가설명

360도 서라운드 사운드와 객체지향 오디오 및*고차원 앰비소닉스 지원 요구

사용자의 상호작용과 VR 이미지와 오디오 간의 시간차

픽셀/도

해상도

프레임률

3D 오디오

영상과 음성의지연속도

거리감물체와의 충분한 거리가 있어야사용자가 메스꺼움을 느끼지 않음

시차 사용자 시점에 따른 물체의 가시성 확인 필요

40픽셀/도

11520x6480

90fps

환경기반 또는장면기반오디오

최대 20ms

물체와의충분한 거리

시차와의상호작용

고품질 VR을 위한 요구사항Technicolor, Oct. 2016 (m39532, MPEG 116th Meeting)

32 © 2017 Gachon University. All rights reserved.

1단계 2단계 3단계

Yaw

Roll

Pitch

Yaw

Roll

Pitch

Right

Left

Forward

Backward

Up

Down

Up

YawForward

Roll

Right

PitchDown

Backward

Left

• 2017년까지 3DoF 표준완성

• 앉은상태에서머리를회전하며영상확인

• 기본적으로 360도스트리밍전송

• 가능할경우타일링스트리밍전송

• 2020년까지VR 상업서비스활성화

• 앉은상태에서영상에서움직이면서

머리를회전하며영상확인

• 유저간대화및프로젝션최적화

• 2022년까지 6DoF 지원

• 유저가걷는움직임이영상에반영되고

머리를회전하며영상확인

• 가상환경과상호작용지원

MPEG-I ( Immersive media) 단계별 목표Jan. 2017 (N16718, MPEG 117th Meeting)

• MPEG-I는 MPEG에서 VR관련 표준화를 담당하며 3단계의 목표를 명시

• MPEG-I의 의장은 퀄컴, Technicolor, 삼성으로 구성

• 2020년까지 VR 상업서비스 활성화 목표

• 2017년까지 3DoF 표준 완성 후 2022년까지 6DoF 지원 목표

33 © 2017 Gachon University. All rights reserved.

전통적인방식의DASH 스트리밍

사용자시각에맞는 DASH

스트리밍

VR기기의사양에맞는

적응형스트리밍

웹브라우저기반VR스트리밍

VR컨텐츠를위한다각도스트리밍

Use Cases In

DASH-VR

• MPEG DASH-VR은 VR과 관련된 DASH 표준화를 담당

• DASH-VR과 관련하여 현재까지 엘지, 노키아, 화웨이, Mediatek등 다양한기업에서 34개의 기고문 제안

• DASH-VR은 호환성 및 효율적인 스트리밍을 고려하여 5개의 use case를 구성

MPEG DASH-VR Use caseJan. 2017 (m40057, MPEG 117th Meeting)

1080p

720p

360p

MPEG-DASH 기술

34 © 2017 Gachon University. All rights reserved.

360 Video Processing (1/2)

Image stitching,Equirectangular

mapping

Video rendering on a sphere

Video decoding

Video encoding

Stitched video is coded as regular 2D video by using H.264/AVC and H.265/HEVC

Input from seven cameras

Corresponding stitched image

Stitched image texture mapped onto a sphere

35 © 2017 Gachon University. All rights reserved.

360 Video Processing (2/2)

36 © 2017 Gachon University. All rights reserved.

Region-wise Packing / Unpacking

• Rectangular region-based (e.g., ERP, CMP) 영역 기반 region-wise packing

기법 구현

• Packing시, 상대적으로 덜 중요한 region을 Downscaling하여 Encoding

efficiency 증가

• Decoding 된 프레임을 unpacking하여 Rendering가능한 projection으로 투영

• Unpacking시, packing과정에서 Downscaling했던 region을 Upscaling하여 복구

37 © 2017 Gachon University. All rights reserved.

Tile-Based Encoding

• 병렬처리를 지원하는 Tile기법을 적용하여 encoding

• Viewport기반 타일 선택을 위한 MCTS(motion-constrained tile set)를 적용

• Stream시 원하는 Tile만 선택하여 대역폭 효율 증가

38 © 2017 Gachon University. All rights reserved.

Tile-Based Decoding

• Viewport기반 부분 타일 decoding

• 전체가 아닌 viewport에 해당하는 Tile만 decoding하여 storage 효율 증가

• 화질 별 인코딩을 통하여 Viewport에 해당하는 Tile은 고화질, 아닌 Tile은저화질로 디코딩

39 © 2017 Gachon University. All rights reserved.

x

SHM encoder ver. 12.3

(based on HM 16.10)HM encoder ver. 16.16

(Latest version of HM, Aug. 2017)

PicEL tPicEL t-1

Upsampled PicBL t

When referring to the

same tile, TIP is

performed according to

the existing method

When referring to the

other tiles, ILP is

performed using

Upsampled BL

• EL: Enhancement Layer

• BL: Base Layer

• TIP: Temporal Inter Prediction

• ILP: Inter Layer Prediction

x

PicEL tPicEL t-1

When referring to the

same tile, TIP is

performed according to

the existing method

When referring to the

other tiles, Intra

Prediction is performed

Motion-Constrained Tile Set (MCTS) by Gachon MCSL

40 © 2017 Gachon University. All rights reserved.

Modified The Reference Range by Considering Interpolation

Original TileModified Reference RangeSubtract 3 pixels from top

Subtract 3 pixels from left

Subtract 4 pixels from bottom

Subtract 4 pixels from right

An error occurs when

referring to the orange

region due to luma

interpolation

Tile Boundary Consideration of Current MCTS

*Considering Luma component’s 8 Tab filter

41 © 2017 Gachon University. All rights reserved.

MCTS Performance Comparison

Test Sequence(8192x4096)

Original bitrate(9 Tiles)

Proposed bitrate(4 Tiles)

Proposed bitrate(1 Tiles)

KiteFlite 60 mbps 28 mbps(-53%) 7 mbps(-88%)

Harbor 22 mbps 10 mbps(-53%) 2 mbps(-88%)

Trolley 32 mbps 16 mbps(-50%) 4 mbps(-87%)

GasLamp 10 mbps 5 mbps(-47%) 1 mbps(-86%)

• SHM 10.0 Reference Software / EL QP 22 / BL QP 22 / 300 frame

• Proposed Method : MCTS implemented by Gachon MCSL

42 © 2017 Gachon University. All rights reserved.

• 병렬처리와 NAL 단위 추출을 위해 타일과 슬라이스를 병합하여 인코딩

• 독립적 타일 전송이 가능하도록 Interpolation filter를 고려하여 인코더에서 모션벡터 범위수정

• 슬라이스 단위의 NAL을 분석하여 원하는 타일 추출 (SEI Message도움 필요// HHI, LG)

• Viewport 기반 ( 원하는 타일) 디코딩

Tile Extractor for MCTS

Tile & slice 1: 1 merge encoding

For parallel processing and extraction

𝑡0 𝑡1 𝑡2

Motion constrained tile sets

HM Encoder

Tile/

Slice

Tile/

Slice

Tile/

Slice

Tile/

Slice

Tile/

Slice

Tile/

Slice

Tile/

Slice

Tile/

Slice

Tile/

Slice

Modify motion

vector range

For independent

tile transmission

Tile Extractor

slice header Tile1

slice header Tile2

slice header Tile3

slice header Tile9

Analyze

slice NAL

unit and

extract

desired tile

HM Decoder

Viewpoint-based

decoding

43 © 2017 Gachon University. All rights reserved.

Tile Partitioning-based Parallel Video Processing (by MCSL)

▪ Motivation: 작업량이 동일한 HEVC Tile영상 처리를 비대칭 모바일 CPU 코어들에 할당 시 효율저하

▪ Proposed Method: 각 코어의 처리능력에 비례한 크기로 HEVC 타일을 분할하여 디코딩 효율 최적화

▪ Achieved decoding time gain: up to 17.4% on Testboard, 29.65% Exynos 8890 Phone (구현/실측)

Conventional tile partitioning method Proposed tile partitioning method

Big1

Big2

Little1

Little2

Little3

Little4

Asymmetric multicore system

Resolution A Resolution B

Complexity B'(=decoding time)

Big/Little cores

Performance Table

Complexity A'(=decoding time)

Big

core

Little

core

(1) Get A'/ B' ratio by using the Big/Little performance ratio (Little/Big)

(2) Get A/B ratio by using the complexity model(e.g. regression model)

(3) Segment a picture with A/B ratio

Segment B

Segment A

(4) Allocate segmented images to Big/Little cores

44 © 2017 Gachon University. All rights reserved.

Tile Prediction Complexity-based Parallel Video Processing (by MCSL)

▪ Motivation: 미리 고정된 크기로 인코딩 된 HEVC Tile 영상의 경우 앞의 방법을 쓸 수 없음.

▪ Proposed Method: 대칭 분할된 HEVC Tile의 복잡도를 PU Partitioning정도로 예측하여 비대칭코어 할당

▪ Achieved decoding speed-up: up to 12.3% on Testboard (구현/실측)

영역별컨텐츠복잡도에따라다르게분할된 PU

Y e l l o w C i r c l e :단 순 한 부 분Green Circle: 복잡한부 분

PU와 Decoding Time(Complexity)의 Scatter Plot

45 © 2017 Gachon University. All rights reserved.

Video Decoding Speed-up for Mobile VR using Tiled-SHVC

and Asymmetric Multicores (by MCSL)

▪ Motivation: Mobile VR의 장점에도 불구하고 Tethered VR 대비 낮은 성능으로 고품질 컨텐츠 제공 어려움

▪ Proposed Method: MCSL연구실의 SHVC기반 Tile처리 최적화 기술과 mmWave기반의 PC offload를통해 성능 극대화 (Base Layer: 360VR, Enhancement Layer: Tiled VR with MCSL-MVP + PC offload)

46 © 2017 Gachon University. All rights reserved.

3. 실습:

HM Reference SW and

Common Test Condition (CTC)

47 © 2017 Gachon University. All rights reserved.

HM (HEVC Reference SW)

• Open SW Tool: Tortoise SVN (download from Sourceforge site)

• Select ‘Choose Items’ -> Tags -> HM-XX (version; example: HM-15.0)

• SVN: https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/

48 © 2017 Gachon University. All rights reserved.

Open Visual Studio Solution File

• Build -> select visual studio solution file (e.g. HM_vc10.sln)

• Decoder: TAppDecoder -> TAppDecTop.cpp -> TAppDecTop::decode()

• Build: Release mode (x64)

49 © 2017 Gachon University. All rights reserved.

HM Test Sequences

• ftp://hevc:[email protected]/testsequences

• ID: hevc, Passwd: DployV1

• Resolution: UHD / FHD(1080p) / HD(720p), etc.

• Frame rate: 24/30/60

• Format: YUV (10 Seconds’ raw video sequence)

• Explain YUV format: (in class)• Raw file structure (e.g. 4:2:0)

Y

U

V

50 © 2017 Gachon University. All rights reserved.

JCT-VC and MPEG Web

• JCT-VC (Joint collaborative team on video

coding): http://phenix.int-evry.fr/jct/

• Freely access (recommend)

• MPEG: ISO/IEC SC29, WG11:

http://wg11.sc29.org/

• Needs login information (password) to download

standard documents such as proposal and

information.

51 © 2017 Gachon University. All rights reserved.

JCT-VC Common Test Conditions (CTC)

• For experiments in a well-defined environment and the comparison of the

outcome of experiments.

• Quantization parameter values: 22, 27, 32 and 37

• Coding structure: Random Access (RA), All Intra (AI), Low-delay B/P (LDB/P)

Name Resolution Frame length Frame rate

PeopleOnStreet 3840×2160 150 30 fps

Traffic 3840×2048 300 30 fps

BasketballDrive 1920×1080 500 50 fps

BQTerrace 1920×1080 600 60 fps

Cactus 1920×1080 500 50 fps

Kimono 1920×1080 240 24 fps

ParkScene 1920×1080 240 24 fps

Official Test Sequences

PeopleOnStreet

Traffic

52 © 2017 Gachon University. All rights reserved.

• Common Coding Options (1)

Encoding with HM 15.0 (1)

#: 특정 라인 주석처리

Coding Tree Unit (CTU) size: 64x64 – 16x16

53 © 2017 Gachon University. All rights reserved.

• Common Coding Options (2)

Encoding with HM 15.0 (2)

Fast Motion Search Mode On/Off

Quantization Parameter (QP) Value (편의상 커맨드라인 Parameter로입력하기 위하여 주석처리 하였음)

❖ CTC QP Values: 22, 27, 32 and 37

54 © 2017 Gachon University. All rights reserved.

• Common Coding Options (3)

Encoding with HM 15.0 (3)

Deblocking Filter On/Off

SAO : Sample Adaptive Offset Filter On/OffAMP: PU Asymmetric Motion Partitions On/Off

55 © 2017 Gachon University. All rights reserved.

• Common Coding Options (4)

Encoding with HM 15.0 (4)

Slice 분할 모드0: 슬라이스 분할 X1: CTU 개수를 기준으로 슬라이스 분할2: Bytes 수를 기준으로 슬라이스 분할3: Tiles 개수를 기준으로 슬라이스 분할

SliceMode 값에 따른 슬라이스의 크기(Slices per Picture 개수 정의)

56 © 2017 Gachon University. All rights reserved.

• Common Coding Options (5)

Encoding with HM 15.0 (5)

Tile 분할 모드0: Tile Non-Uniform Partitioning1: Tile Uniform Partitioning

Picture 내의 Tile Columns 개수 - 1

각 Tile의 Width 정의를 위한 CTU 개수(정의되지 않은 가장 오른쪽 Tile의 Width는 나머지 CTU 개수로 자동정의 됨)

각 Tile Boundary를 가로질러 In-loop Filter 적용 On/Off

15 20 Rest

10

Rest

Tile Partitioning Options가위와같을때, Tile Partitioning 예시

Tile 1 Tile 2 Tile 3

Tile 4 Tile 5 Tile 6

57 © 2017 Gachon University. All rights reserved.

• RA Coding Options (encoder_randomaccess_main.cfg)

Encoding with HM 15.0 (6)

IntraPeriod: I-Picture 삽입 주기GOPSize : Group of picture의 크기

… …

GOP (8 pictures)

I-Picture

Period of I-Picture (32 pictures)

IntraPeriod= 32, GOPSize= 8일경우의 Coding Structure 예시

I-Picture

58 © 2017 Gachon University. All rights reserved.

• AI Coding Options (encoder_intra_main.cfg)

Encoding with HM 15.0 (7)

IntraPeriod: I-Picture 삽입 주기GOPSize : Group of picture의 크기

GOP, Period of I-Picture (1 picture)

I-Picture

IntraPeriod= 1, GOPSize= 1일경우의 Coding Structure 예시

59 © 2017 Gachon University. All rights reserved.

• Low-delay B Coding Options (encoder_lowdelay_main.cfg)

Encoding with HM 15.0 (8)

IntraPeriod: I-Picture 삽입 주기 (-1 = Only First)GOPSize : Group of picture의 크기

Period of I-Picture (Only first picture)

I-Picture

IntraPeriod= -1, GOPSize= 4일경우의 Coding Structure 예시

… …

GOP(4 Pictures)

60 © 2017 Gachon University. All rights reserved.

• Test Sequence Options (BQTerrace.cfg)

Encoding with HM 15.0 (9)

Input YUV Raw Video 파일 경로

Input YUV Raw Video 프레임율

Input YUV Raw Video 해상도

61 © 2017 Gachon University. All rights reserved.

• Example of Encoding with HM 15.0 (for BQSquare Test Sequence)

Encoding with HM 15.0 (10)

TAppEncoder.exe-c .\cfg\encoder_randomaccess_main.cfg-c .\cfg\BQSquare.cfg-q 37 -b .\bitstreams\BQSquare_416x240_60_RA_qp37.bin > .\logs\BQSquare_416x240_60_RA_qp37_encoded.txt

Input Options-c (cfg옵션) 사용하는 cfg 파일명과 위치-c (cfg옵션) 사용하는 cfg 파일명과 위치-q (QP옵션) QP값 직접입력-b (bitstream옵션) 저장될 비트스트림 파일명과 위치> (로그출력) 로그내용 저장할 로그 파일명과 위치

62 © 2017 Gachon University. All rights reserved.

• Example of Encoder Logs

Encoding with HM 15.0 (11)

63 © 2017 Gachon University. All rights reserved.

• Example of Decoding with HM 15.0 (for BQSquare Test Sequence)

Decoding with HM 15.0 (1)

TAppDecoder.exe -b .\bitstreams\BQSquare_416x240_60_RA_qp37.bin -o rec_BQSquare_416x240_60_RA_qp37.yuv > .\logs\BQSquare_416x240_60_RA_qp37_decoded.txt

Input Options-b (bitstream옵션) 사용할 비트스트림 파일명과 위치-o (비디오파일 생성옵션) 출력될 yuv파일명과 위치> (로그출력) 로그내용 저장할 로그 파일명과 위치

64 © 2017 Gachon University. All rights reserved.

• Example of Decoder Logs

Decoding with HM 15.0 (2)

65 © 2017 Gachon University. All rights reserved.

• 인코딩 전후 화질 비교

Decoding with HM 15.0 (3)

Differences from Lossy Compression

Original Picture Reconstructed Picture

66 © 2017 Gachon University. All rights reserved.

• Excel Spread Sheet Example: HM15.0 v.s. HM 14.0

HM 15.0 Software Technical Evaluation (1)

67 © 2017 Gachon University. All rights reserved.

• Excel Spread Sheet Example: HM15.0 vs. HM 14.0

HM 15.0 Software Technical Evaluation (2)

68 © 2017 Gachon University. All rights reserved.

HEVC NAL Unit Analyzer (Free SW)

• Analyze HEVC(h265) bitstreams

• Display syntax elements of hevc elementary streams

• 다운로드 : https://github.com/virinext/hevcesbrowser/releases

Syntax Element in NAL Unit

Bit Value of Bitstream

Offset, Length, Type, Info of NAL Unit

69 © 2017 Gachon University. All rights reserved.

4. 실습:

JVET 360Lib Tools for 360-degree Video

70 © 2017 Gachon University. All rights reserved.

• For the input ERP video(e.g. 8K), encoding/decoding is conducted by using

one of 11 projection formats

• The output video has low fidelity(e.g. 4K), otherwise the conversion would

require lots of time

360 Video Testing ProcedureJuly 2017, Torino, Italy, JVET-G1030, 7th JVET meetings

Jill Boyce, Elena Alshina, Adeel Abbas, Yan Ye

71 © 2017 Gachon University. All rights reserved.

Projection Formats Supported in 360Lib

Index Projection format

0 Equirectangular (ERP)

1 Cubemap (CMP)

2 Adjusted Equal-Area (AEP)

3 Octahedron (OHP)

4 Icosahedron (ISP)

5 Truncated Square Pyramid (TSP)

6 Segmented Sphere Projection (SSP)

7 Adjusted Cubemap Projection (ACP)

8 Rotated Sphere Projection (RSP)

9 Equatorial Cylindrical Projection (ECP)

10 Equi-Angular Cubemap (EAC)

CMP 4x3 and 3x2

ERP

OHP

72 © 2017 Gachon University. All rights reserved.

360Lib Installation

• SW package (SVN)

- Check out HM-16.15 https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/HM-

16.15

- Check out 360Lib-3.0

https://jvet.hhi.fraunhofer.de/svn/svn_360Lib/tags/360Lib-3.0

• After install, copy several files from 360Lib to HM

73 © 2017 Gachon University. All rights reserved.

360Lib SW Features (1/4)

• 360Lib Introduction• Based on Projection format conversion tool for 360 video provided

by InterDigital.

• Tools are added as a separated library to the HM/JEM SW.

• Separated application is also provided.

• Bit-depth: 8 bit and more.

• Interpolation filters are also supported.• Luma components: Lanczos3 (default)• Chroma components: Lanczos2 (default)

• Main features with examples• Projection formats: ERP -> CMP

• InputGeormetryType: 0• CodingGeometryType: 1

• Sphere Roation• Yaw, Pitch, Roll: counter-colockwise rotation in degree along Y, -Z, X axis, respectively

74 © 2017 Gachon University. All rights reserved.

360Lib SW Features (2/4) - example

• 3, 4: face row와 face column의미. 즉, CMP 4x3

• Red numbers: face Index

• Number after face index: rotation degrees (counter clockwise) before putting it into the output image

• 따라서, 2 90 6 0 7 0 8 0은 face index 2를 90도 반시계방향으로 돌리고, 6, 7, 8은 virtual face index (empty/null).

1 2 3 4

3

75 © 2017 Gachon University. All rights reserved.

360Lib SW Features (3/4) - example

• Viewport Generation Parameter

• ViewPortSettings: 75.0 75.0 270.0 0.0• Horizontal, vertical field of view (FOV): both 75.0 degrees

• Center of the viewport is set at 270.0 degrees in longitude and 0.0 degree in altitude.

• ViewPortFile: viewport.txt• 프레임 별 viewport settings

• 0~3: 75 75 15 5 // 4~7: 75 75 45 5 …

• DynamicViewPortFile: dynamic_viewport.txtex) 75.0 75.0 0 -45 -15 299 45 15

• FOV: Hor/ver 각각 75.0도, 0과 299: 프레임 번호(POC)의 시작과 끝, 다른 두 숫자는the center of viewport의 yaw, pitch.

• 따라서, POC 0부터 POC 299까지 서서히 변하는 viewport 값을 conversion SW가viewport position을 automatically 계산하여 각 프레임간에 linear interpolation.

• Viewport의 width/height: CodingFaceWidth/CodingFaceHeight 값으로 세팅

• SphereVideo: 값 0: 아무런 projection conversion 없이 비디오 인코딩, 값 1:

projection conversion 수행

0 75 75 15 54 75 75 45 58 75 75 60 5

Frame number

76 © 2017 Gachon University. All rights reserved.

360Lib SW Features (4/4) – encoder_360_CMP.cfg

77 © 2017 Gachon University. All rights reserved.

HM-16.16-360Lib-4.0 Software Preparation

1. check out HM-16.16 (https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/HM-16.16);

2. check out 360Lib-4.0(https://jvet.hhi.fraunhofer.de/svn/svn_360Lib/tags/360Lib-4.0);

3. copy following directories (./360Lib-4.0) to ./HM-16.16;• copy source files:• copy ./360Lib-4.0/source/Lib/TLib360 to ./HM-16.16/source/Lib/• copy ./360Lib-4.0/source/Lib/TAppEncHelper360 to ./HM-16.16/source/Lib/• copy ./360Lib-4.0/source/App/utils/TApp360Convert to ./HM-

16.16/source/App/utils/

• copy configure files:• copy ./360Lib-4.0/cfg-360Lib to ./HM-16.16/

• copy build files:• copy ./360Lib-4.0/HM-360Lib-4.0-build to ./HM-16.16/

4. build HM-16.l6-360Lib-4.0 software: • use ./HM-360Lib-4.0-build/linux/makefile for Linux platform; the

usage of make command is the same as that for HM-16.16; • use HM_vc2010.sln in ./HM-360Lib-4.0-build/HM_vc2010.sln for

Windows platform;

78 © 2017 Gachon University. All rights reserved.

360Lib Execution (e.g. ERP to CMP)

• Command to converge the ERP video to CMP video and encode

TAppEncoder.exe -c ./encoder_randomaccess_main.cfg

-c ./encoder_360_CMP.cfg -c ./360test_Trolley.cfg

-c ./360test_Trolley_DynamicViewports.cfg --SphFile=./sphere_655362.txt

-i ./Trolley_8192x4096_30fps_8bit_420_erp.yuv

--CodingFaceWidth=1184 --CodingFaceHeight=1184 --IntraPeriod=32

-b test_cmp.bin --SEIDecodedPictureHash=1 -o rec_cmp.yuv -q 27

79 © 2017 Gachon University. All rights reserved.

360Lib Encoding Result (Trolley)

• Input file : 8K(ERP), Output file : 4K(ERP), QP : 27

80 © 2017 Gachon University. All rights reserved.

360Lib Encoding Result (Trolley)

• Input file : 8K(ERP), Output file : 4K(CMP), QP : 27

81 © 2017 Gachon University. All rights reserved.

Thank You !

http://mcsl.gachon.ac.kr

Questions > [email protected]