Updates on SCReAM- An implementation experience - - PowerPoint PPT Presentation

updates on scream an implementation
SMART_READER_LITE
LIVE PREVIEW

Updates on SCReAM- An implementation experience - - PowerPoint PPT Presentation

Updates on SCReAM- An implementation experience draft-ietf-rmcat-scream-cc-02 Zaheduzzaman Sarker Ingemar Johansson Ericsson Research Agenda Updates on the draft Implementation of SCReAM in OpenWebRTC What's next? Updates on


slide-1
SLIDE 1

Updates on SCReAM- An implementation experience

Zaheduzzaman Sarker Ingemar Johansson Ericsson Research

draft-ietf-rmcat-scream-cc-02

slide-2
SLIDE 2

Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 2

› Updates on the draft › Implementation of SCReAM in OpenWebRTC › What's next?

Agenda

slide-3
SLIDE 3

Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 3

› No changes in the actual algorithm › Rewritten and restructured the draft to

– Increase readability

› Addressed comments

– Changed “sender transmission scheduling” to “sender transmission control” › Now that section only describe SCReAM handling one stream but mentions the capabilities of handling multiple streams. – Added description on how to update the “bytes_newly_acked” – Added description on ECN usage – Added section for FEC and RTCP overhead consideration

Changes in the draft

slide-4
SLIDE 4

Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 4

› We have implemented SCReAM in the OpenWebRTC (http://www.openwebrtc.org/)

– https://github.com/EricssonResearch/openwebrtc-gst-plugins – We are testing the implementation with RMCAT test cases and will update the WG with detail results soon.

› SCReAM is implemented as a gstreamer plug-in › The implementation experience has been good

implementation status (1/2)

RTP bin SCReAM DTLS Packetizer DTLS DTLS A very simplified view of the plug-in implementation

RTCP incoming RTCP Outgoing

slide-5
SLIDE 5

Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 5

› However, interaction towards video coded has been a big issue

– SCReAM rate control is sometimes considerably faster than what the video rate control loop can deliver – This can cause unstable behavior – Either › We need proper encoder configurations to make it more responsive towards rate change requests. – Or › We need means to feed the SCReAM control loop with the information of the video encoder rate control

implementation status (2/2)

slide-6
SLIDE 6

Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 6

Test case 5.1 (1/3)

Delay spikes due to lack of responsiveness of the video codec to the rate change request

20 40 60 80 100 1000 2000 3000 Bitrate [kbps]

Target Coder output Transmitted

20 40 60 80 100 5 x 10

4

CWND and bytes in flight [byte]

CWND In flight

20 40 60 80 100 500 Queuing delay [ms] T [s]

RTP queue Network queue

slide-7
SLIDE 7

Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 7

Test case 5.1(2/3)

58.5 59 59.5 60 60.5 61 500 1000 1500 2000 2500 3000 3500 Bitrate [kbps] T [s] Target Coder output Transmitted

Video encoder responsiveness when rate decreases

  • Overshoots target rate with

big margins (lags by more than 300ms)

  • This leads to sharp decrease

in the target rate

  • More investigation needed to

see how severe this problem is It is expected to have better delay with more responsive encoder Video encoder (VP8)

slide-8
SLIDE 8

Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 8

Test case 5.1(3/3)

Video encoder responsiveness when rate increases

  • The encoder output rate lags

behind the target rate by ~1 second.

  • The SCReAM rate control is

much faster than the video coder rate control loop

  • Solution is either to decrease

RAMP_UP_SPEED or to make VP8 rate control loop faster

68 70 72 74 76 78 80 500 1000 Bitrate [kbps]

Target Coder output Transmitted

68 70 72 74 76 78 80 2 4 x 10

4

CWND and bytes in flight [byte]

CWND In flight

68 70 72 74 76 78 80 500 Queuing delay [ms] T [s]

RTP queue Network queue

Video encoder (VP8)

slide-9
SLIDE 9

Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 9

Different RAMP_UP_SPEEDs

20 40 60 80 100 1000 2000 Bitrate [kbps] Target Coder output Transmitted 20 40 60 80 100 10 4 5 CWND and bytes in flight [byte] CWND In flight T [s] 20 40 60 80 100 500 Queuing delay [ms] RTP queue Network queue 20 40 60 80 100 1000 2000 Bitrate [kbps] Target Coder output Transmitted 20 40 60 80 100 10 4 5 CWND and bytes in flight [byte] CWND In flight T [s] 20 40 60 80 100 500 Queuing delay [ms] RTP queue Network queue

RAMP_UP_SPEED = 200kbps RAMP_UP_SPEED = 100kbps

Less RTP queue spikes but slower increase affects the throughput

slide-10
SLIDE 10

Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 10

› Try out the SCReAM implementation

– Get involved and give feedback on improvements

› More results up coming stay tuned. › More wider reviews required on the draft to move to the next phase.

– Please read and comment.

What’s next

slide-11
SLIDE 11