18
Rouslan Dimitrov, NVIDIA 3/19/2019 S9156: STREAMING VR CONTENT FROM THE CLOUD

S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

Rouslan Dimitrov, NVIDIA

3/19/2019

S9156: STREAMING VR CONTENT FROM THE CLOUD

Page 2: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

2

Workstation Graphics For Low-Power Devices

Page 3: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

3

VR STREAMING TO ANY DEVICE

Cloud ServersContent Internet Clients

The Project’s Vision

Page 4: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

4

ARCHITECTURECloud Server to HMD

OpenVR Runtime

VR App

Virtual HMD Driver

GeForce Now

Late & Lens Warp

VR Runtime

Video Decoder

GeForce Now

HMD

Video Encoder

Virtual Audio Driver

Audio Encoder Audio Decoder

InternetDriver App

Page 5: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

5

ARCHITECTUREWIN SERVER CLIENT

INST

ALL

ER

NVSS NVSC

Audio/Video

Data (sensors, inputs, QoS)

Encode

RGB Frame

Vid

eo

SD

KG

FNSt

ack

Display

VR App

Decode

Vid

eo P

ara

ms

(e.g

. RO

I, o

pti

on

al)

HEVC Frame HEVC Frame

VR Runtime

Controller & inputs

Sensor,Pose &Controller Data

RGB Frame

Sensor & input data

Sensor & input data

Audio

(e.g., OpenVR)

Ap

p

Clie

nt

app

Serv

er d

rive

r

Time Warp

Lens Warp

RGB Frame

Driver API

VR Runtime

Runtime API

OpenVR Interfaces

HMD

Au

dio

Pla

ybac

k

Audio Capture / Encode

Page 6: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

6

QOS

Relevant Internet problems:

• Jitter

• Missed packets

• Bandwidth variation

Reliability & Resilience

Page 7: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

7

QOS

Need to dynamically adjust:

• Jitter absorption queue size (for jitter)

• Forward error correction strength (for dropped packets)

• Video compression rate (for bandwidth variation)

Page 8: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

8

WIN SERVER

VR App

Vid

eo P

ara

ms

(e.g

. RO

I, o

pti

on

al)

Ap

p

Driver API

VR Runtime

Runtime API

ARCHITECTURE

INST

ALL

ER

NVSS NVSC

Audio / Video / Data (sensors, inputs, QoS)

Encode

RGB Frame

Vid

eo

SD

KG

FNSt

ack

Decode

HEVC Frame

Sensor,Pose &Controller data

Sensor & input data

Audio

Clie

nt

app

Serv

er d

rive

r

Audio Capture / Encode

Au

dio

Pla

ybac

k

Frame Pacing

Jitter FIFO

CLIENT

Display

VR Runtime

Controller & inputs

(e.g., OpenVR)Time Warp

Lens Warp

HMD

OpenVR Interfaces

Page 9: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

9

LATENCY

Using:

• HelloVR sample modified to change color on button press

• Latency meter (instrumented switch + photodiode)

• Local Cloud with Client on WiFi (average ping time 4 ms)

Button to Photons

Page 10: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

10

LATENCY

Results:

Server Driver + Client App latency = 12.1 ms.

The Jitter FIFO can be downsized at the cost of occasional missed frames.

Button to Photons

Latency [ms] Stdev

Local VR 38.3 3.4

CloudVR 81.6 3.3

Diff 43.3 -0.1

Jitter FIFO + Ping 31.2

Diff – Above 12.1

*Average of 40 clicks

Page 11: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

11

WIN SERVER

VR App

Vid

eo P

ara

ms

(e.g

. RO

I, o

pti

on

al)

Ap

p

Driver API

VR Runtime

Runtime API

LATENCY

INST

ALL

ER

NVSS NVSC

Audio / Video / Data (sensors, inputs, QoS)

Encode

RGB Frame

GFN

Stac

k

Decode

HEVC Frame

RGB FrameSensor & input data

Audio

Clie

nt

app

Serv

er d

rive

r

Audio Capture / Encode

Au

dio

Pla

ybac

k

Frame Pacing

Jitter FIFO

CLIENT

Display

VR Runtime

Controller & inputs

(e.g., OpenVR)Time Warp

Lens Warp

HMD

3-10 ms

10-50 ms(depending on network)

1 ms

1-3 ms

3-10 ms

OpenVR Interfaces < 0.5 ms

Page 12: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

12

DELIVERED FRAMESNo Motion, 1440x1600x2 @ 50 Mbps

Page 13: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

13

DELIVERED FRAMESNo Motion, 1440x1600x2 @ 10 Mbps

Page 14: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

14

Page 15: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

15

DELIVERED FRAMESFast Motion, 1440x1600x2 @ 50 Mbps

Page 16: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

16

DELIVERED FRAMESFast Motion, 1440x1600x2 @ 10 Mbps

Page 17: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud

17

VR VILLAGE

Explore the VR Village to get hands-on with the latest advances in virtual reality(including Cloud VR Streaming)

VR THEATER

Go to the VR Theater to see and experience narrated VR demos built by our partners

VR PARTNERS

Explore a great lineup of VR partners around the VR Village showcasing their groundbreaking technology

COME EXPLORE ALL THINGS VR AT GTC 2019

VR VILLAGE HOURS Tuesday: 12:00pm - 7:00pm Wednesday: 12:00pm - 7:00pm Thursday: 11:00am - 2:00pm

See More VR on the Exhibition Floor

Expo Hall 3, Concourse Level

Page 18: S9156: STREAMING VR CONTENT FROM THE CLOUD · S9156: STREAMING VR CONTENT FROM THE CLOUD. 2 Workstation Graphics For Low-Power Devices . 3 VR STREAMING TO ANY DEVICE Content Cloud