scream experiments rmcat

21
SCREAM experimentSs Remote control of vehicles over 4G/5G Ericsson Research Network Protocols & E2E Performance Ingemar Johansson ([email protected] ) Robert Hedman, Olov Sehlin : Luleå University of Technology

Upload: others

Post on 27-Nov-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SCReAM experiments RMCAT

SCREAM experimentSs

Remote control of vehicles over 4G/5G

Ericsson Research

Network Protocols & E2E Performance

Ingemar Johansson ([email protected])

Robert Hedman, Olov Sehlin : Luleå University of Technology

Page 2: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 2

this is about technology..

Can you see

the car ?

…to go from this... ...to this

Frequent packet drops distorted video image

Large delay variations choppy video

Reduced packet loss good video image

Reduced delay variations stable video

Page 3: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 3

› Remote control applications generally require high quality video feedback– Multiple cameras needed for wide angle view and good ergonomics

– High contrast, high resolution and high frame rate desired for reduced operator fatigue

– Resulting peak bitrate with many cameras can be in excess of 20-30Mbps

› LTE/5G deployment can not always guarantee high UL bitrate– Insufficient coverage

– High network load – multiple machines/vehicles, competing services

› A remote control solution with video must be rate adaptive– A basic requirement for worst case stability

› Various network support enhancements can improve performance further– Densification of network

– QoS, higher service priority in congested cells

– Explicit Congestion Notification (ECN)

Problem

Page 4: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 4

No Congestion control

Camera/

encoder A

Sensor K

Camera/

encoder B

Camera/

encoder C

Sensor L

Remote entity Control entity

Decode/

display A

Decode/

display B

Decode/

display C

Renderer K

Renderer L

Network

› No congestion control

› Fire and forget RTP packets

› (Large) queues can build up in network high packet

loss rate

Eth.Eth.

Page 5: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 5

Congestion controlwhere and why?

Camera/

encoder A

Cong.

control

Sender

side

Sensor K

Camera/

encoder B

Camera/

encoder C

Sensor L

Remote entity Control entity

Decode/

display A

Decode/

display B

Decode/

display C

Renderer K

Renderer L

Network

› Congestion control ensures that data rate into the network

does not exceed the throughput

› Network queue delay is kept low

minimal RTT = good for interactive control applications

› Implemented in running code

Eth.Eth.

Cong.

control

Receiver

side

Page 6: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 6

› SCReAM = Self-Clocked Rate Adaptation for Multimedia

– Window based congestion control like TCP but without the

retransmissions

– Algorithm reacts on packet loss as well as delay and ECN

– RTP packets can be queued up already in sender

› Developed since 2014

– Design goal : Good performance for wireless access (LTE, 5G)

– In RFC Editors Queue!

› Most RTP media can be congestion controlled

– Video, Audio, Haptics, Motion-JPEG

› Multi-stream handling with prioritization

› Available as open source

– Operating range : ~50kbps .. 100Mbps

– https://github.com/EricssonResearch/scream

– Ongoing work :

› L4S support

› GStreamer plugin, student project

SCreAM in one page

RTP

Network congestion

control

Video codec

QueueRTP packets

Rate control

UDP socket

Transmission scheduler

Queue

length

RTCP

TSTX

RTPSN, RTPsize

Rate

adjustment

Network congestion control keeps a list of TX RTP {SSRC, RTPSN, TSTX}

RTCP {List of recv SSRC, TSRX}

CWND, RTT

bytesInFlight

Other streams

Page 7: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 7

0 1 2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|V=2|P|reserved | PT=XR=207 | length=6 |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| SSRC |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| BT=255 | reserved | block length=4 |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| SSRC of source |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Highest recv. seq. nr. (16b) | ECN_CE_bytes |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Ack vector (b0-31) |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Ack vector (b32-63) |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Timestamp (32bits) |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

› Minimal size feedback message to make

SCReAM fully functional

› RTCP XR, BT = 255 (experimental use)

› ECN block reports accumulated sizeof(RTP

packets) ECN-CE marked

› Feedback overhead varies with media rate

– 100kbps ~5%

– 100Mbps ~2%

› Todo :

– Replace with draft-ietf-avtcore-cc-feedback-

message

– Add support for bundling if more than one stream

FeedbacK

Page 8: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 8

0 10 20 30 40 500

1000

2000

3000

4000

5000

6000

7000

8000

T[s]

Target and actual video bitrate [kbps]

Target

Actual› Video coders are challenging to

work with

– Large bitrate variations

– Keyframes..

– Quantizers change on GOP

boundaries

– Don’t expect a constant bitrate

from a commercially available

video encoder!

› Limited tuning capabilities of HW

video coders

› Large impact on design of

congestion control

Video coder properties

Key frames

a.k.a. I-frames

Static input

Dynamic input

Panasonic WV-SBV111M

720p 30fps VBR

Page 9: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 9

Sender side view

IP-Cam #1

SCReAM

sender

ScreamTx

RtpQueue

› Linux PC handles congestion control algorithm

– Simple RTSP clients start RTSP streaming from each camera and makes RTP

stream direct towards SCReAM sender.

› For the cases that IP cams require RTSP control (e.g. Panasonic)

– SCReAM sender handles congestion control, stream prioritization and rate control of

IP cameras.

LTE

modem

Linux PC

Eth.

swIP-Cam #2

IP-Cam #3

IP-Cam #N

RTSP #1

RTSP #2

RTSP #3

RTSP #N› PC can likely handle other

tasks too as SCReAM

congestion control algorithm

has a modest complexity

– Raspberry PI 3 ca 5-10%

@ 3Mbps

Page 10: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 10

Receiver side view

› Linux PC on receiver side

› Implements generation of

congestion control feedback

and forwards packets to Video

player

› Low complexity

SCReAM

receiver

ScreamRx

Linux PC(s)

Video player

Video player

Video player

Page 11: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 11

› Objective : Ensure that the most important media

gets most of the resources when bandwidth is

limited

› Weighted credit based scheduling with

configurable weights in range ]0.0 .. 1.0]

› Periodic rate adjustments

› Bandwidth allocation in theory

Stream prioritization

Prio=1.0

Prio=0.2

Prio=0.1

Prio=0.1

Camera Bandwidth share [%]

Front 72 [1.0/(1.0+0.2+0.1+0.1) ]

Rear 14 [0.2/(1.0+0.2+0.1+0.1) ]

Left 7 [0.1/(1.0+0.2+0.1+0.1) ]

Right 7 [0.1/(1.0+0.2+0.1+0.1) ]

Page 12: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 12

0

10

20

Throughput [Mbps]

200 250 300 350 400 450 500 550 6000

500

1000CWND and bytes in flight [kbyte]

T [s]

Total

Front cam

Rear cam

Left cam

Right cam

0

0.5Queue delay [s]

Live examplewith stream prioritization

› The highest priority camera gets

the highest bitrate

› Lower priority cameras catch up

when throughput increases

› Occasional large delays when link

throughput drops

› Congestion control is only delay

based

– Lack of proper AQM in LTE modem

(tail drop queue) packet loss

based adaptation is disabled

Reaction to reduced throughput is a

bit slow

– ECN would be real good

Average over 2s

Page 13: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 13

› Works quite OK!

› Improved stability for high priority media

– Lower priority media (side and rear cameras) take the hit when throughput drops

› Gradual tunnel vision effect when throughput drops

– Lower priority media degraded first

› Sudden high dynamic input in high priority media is better absorbed

– Lower priority media is pushed back

› Room for improvement

– Switch off some cameras in very problematic conditions

– Verify and possibly improve run time priority switching

Stream prioritizationinitial impressions

Page 14: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 14

ECN support

Complex (video) sources ECN improves performance

Reduced

e2e delay

ECN

No AQM CoDel w. ECN

YES, ECN works !

CoDel without ECN

https://www.youtube.com/watch?v=J0po78q1QkU

CoDel with ECN

https://www.youtube.com/watch?v=qIe0ubw9jPw

Page 15: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 15

› SCReAM can provide high quality video feedback for a remote control

applications by providing congestion control

– Reduces impact of varying connectivity quality

– Reduced impact of varying media rate

› Solution manages to control resulting video bitrate well and thus avoids

excessive queue delay and loss in network

– Configurable stream priority

› Rate adaptive video feedback and congestion control provide good quality!

conclusion

Page 16: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 16

Comments/questions ?

[email protected]

65.5263209N, 22.7964308E

Page 17: SCReAM experiments RMCAT

WiFi Network test

extra

Page 18: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 18

› Highly non-scientific test with a bandwidth test application

– Based on code from https://github.com/EricssonResearch/scream

› Test gear

– ASUS RT-AC66U, 5GHz band

– Two Lenovo Thinkpad E470, Ubuntu 17.10

› Test application implements a “fake” RTP packet generator

– Mimics rate adaptive video encoder with 25fps, no key-frames

› Test range [0.1..100] Mbps

› Other traffic present in WiFi network

– Teenage daughter…

– Streaming video, Netflix

– Snapchat

intro

Page 19: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 19

› Congestion control adapts to

estimated congestion (queue

delay)

› Bitrate sometimes forced to

very low values

Experiment 1Sender close to AP, receiver moving

50 100 150 2000

500

1000

T [s]

CWND and in flight [kbyte]

0

50Throughput [Mbps]

0

0.5Queue delay [s]

Page 20: SCReAM experiments RMCAT

SCReAM experiments RMCAT | Public | © Ericsson AB 2017 | 2017-11-14 | Page 20

› Congestion control adapts to

estimated congestion (queue

delay)

› Bitrate sometimes forced to

very low values

Experiment 2Receiver close to AP, SENDER moving

50 100 150 2000

500

CWND and in flight [kbyte]

T [s]

0

20

40Throughput [Mbps]

0

0.5Queue delay [s]

Page 21: SCReAM experiments RMCAT