Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree...

18
Improving The Bandwidth Usage For VR Video Transmission 2018.01

Transcript of Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree...

Page 1: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

Improving The Bandwidth Usage

For VR Video Transmission

2018.01

Page 2: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

DecoderEncoder

Single Video Stream

Traditional Video Streaming Infrastructure

VR Video

Pre-processing

Sphere 2D Mapping

VR VideoPost-processing

Regular Video Streaming Method

Sphere 2D Mapping

Page 3: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

• 360 degree panoramic video

• Average Bandwidth at ~12MbpsReal network traffic captured from playing back 2018 Pyeong Chang Winter

Olympic Opening Ceremony with Intel TrueVR player

Example-1: Intel TrueVR

Page 4: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

Real network traffic captured from playing back NextVR NBA sports scene with NextVR App

• Video is 180 degree Stereo

• Average Bandwidth at ~10Mbps

Example-2: NextVR

Page 5: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

1. Video content is treated equally in all viewing direction

2. Video content outside current Field of View (FOV) causes bandwidth waste

3. Not easy to support higher resolution (6K, 8K)

Issues With Regular Video Streaming

Page 6: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

View Adaptive Video Streaming Method

Page 7: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

Adaptive Video Streaming (1)

View Orientation

Original VR Content Multiple Streams

One for each view port

Single Stream to be

streamed each time

View Adaptation

Initiated by Viewer

Page 8: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

• Video is 360 degree Mono

• Without head movement• Average Bandwidth at 8Mbps

• Peak Bandwidth at ~12Mbps

• With head movement• Average Bandwidth at 40Mbps!

• Peak Bandwidth at ~80Mbps! Real traffic captured from playing back a simulated view port encoded stream @ 8Mbps

Example-3: View Port Method

Page 9: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

Tile Based Method: (Visbits, TiledMedia)

* Content copied from Bitmovin Website

Adaptive Video Streaming (2)

Page 10: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

Example-4: Visbits DemoApp

• Video is 360 degree Mono

• Without head movement• Average Bandwidth at 6Mbps

• Peak Bandwidth at ~9Mbps

• With head movement• Average Bandwidth at 18Mbps!

• Peak Bandwidth at ~30Mbps!Real traffic captured from playing back demo sequence on Visbits DemoApp

Page 11: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

Example-5: TiledMedia ClearVR DemoApp

• Video is 360 degree Mono

• Without head movement• Average Bandwidth at 12Mbps

• Peak Bandwidth at ~20Mbps

• With head movement• Average Bandwidth at 20Mbps!

• Peak Bandwidth at ~40Mbps!

Real traffic captured from playing back demo sequence on TiledMedia DemoApp

Page 12: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

• Head movement triggers view change

View change causes the pre-buffered content to be invalid

Empty decoder buffer triggers re-buffering!

Improper re-buffering strategy could cause:

❖ Extreme volatility in network traffic

❖ Significant bandwidth waste

❖ Extended view switch latency

What happens when head moves?

Page 13: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

Re-Buffering Behavior During View Changes

Decoder

ViewPort#1Decoder

Buffer

ViewPort#2Decoder

Buffer

Current View#1

New View#2

XXX

+++

When view is changed:• The video inside decoder buffer view#1 is no longer useful• The decoder buffer for the new view#2 is empty so decoder can’t start decoding• The player must requests the server to fill up the decoder buffer for view#2 ASAP• This causes the spike in network traffic as well as waste of the pre-buffered content in view#1

Page 14: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

Our Solution: Foveated Encoding (FE)

• We invented a multi-layer based view adaptation scheme based on foveat vision

• In our scheme, the VR video are encoded in multiple layers

• At least one view independent layer, and several view dependent layers

• View independent layers are encoded with large chunk

• View dependent layers are encoded with small chunk

• When view changes

• For view independent layer, no need to be rebuffered

• For view dependent layers, only small chunk of video data need to be rebuffered

Page 15: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

• More Efficient Compression

• View independent layers are encoded in large chunks for better compression efficiency

• Faster View Switch

• View dependent layers are encoded in small chunk to achieve faster view switch

• Less Bandwidth Waste

• View independent layers have larger buffers without any waste

• View dependent layers encoded in small chunk reduce bandwidth waste during view switch

• Smoother Network Traffic

• Rebuffering is only needed for view dependent layers (with much smaller chunks)

Major Benefits:

Page 16: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

ViewPort#1Decoder

Buffer

ViewPort#2Decoder

Buffer

Current View#1

New View#2

Decoder

Layer-0View Independent

DecoderBuffer

+ + +

X X X

====

Our Re-Buffering Strategy

Page 17: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

Regardless if there is head movement or not

• The bandwidth stays fairly smooth around average bandwidth

• With peak bandwidth < 1.5 average bandwidth

Improved Network Bandwidth Usage

Page 18: Improving Network Bandwidth Usage For VR Video Player Network Bandwidth Us… · • 360 degree panoramic video • Average Bandwidth at ~12Mbps Real network traffic captured from

运行性能 —— 推流端手机的CPU、GPU的使用率平均增加10%左右

18

0%

5%

10%

15%

20%

25%

30%

0:0

0

0:0

2

0:0

4

0:0

6

0:0

8

0:1

0

0:1

2

0:1

4

0:1

6

0:1

8

0:2

0

0:2

2

0:2

4

0:2

6

0:2

8

0:3

0

0:3

2

0:3

4

0:3

6

0:3

8

0:4

0

0:4

2

0:4

4

0:4

6

0:4

8

0:5

0

0:5

2

0:5

4

0:5

6

CPU使用率(%)

1280x720_FE 1280x720_noFE

0%

5%

10%

15%

20%

25%

30%

35%

0:0

0

0:0

2

0:0

4

0:0

6

0:0

8

0:1

0

0:1

2

0:1

4

0:1

6

0:1

8

0:2

0

0:2

2

0:2

4

0:2

6

0:2

8

0:3

0

0:3

2

0:3

4

0:3

6

0:3

8

0:4

0

0:4

2

0:4

4

0:4

6

0:4

8

0:5

0

0:5

2

0:5

4

0:5

6

GPU使用率(%)

1280x720_FE 1280x720_noFE

FE编码只需9% GPU使用率FE编码只需10% CPU使用率

——以某直播平台视频参数为准测试

深圳威尔视觉传媒有限公司