Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Congestion Control using FEC for Conversational...

Congestion Control using FEC for Conversational Multimedia Communication

Presented by: Marcin Nagy
at ACM International Conference on Multimedia Systems, 2014
Singapore

Co-authors:
- Varun Singh, Joerg Ott (Aalto University)
- Lars Eggert (NetApp)

Varun Singh

March 21, 2014
Tweet

More Decks by Varun Singh

Other Decks in Research

Transcript

  1. 1 Congestion Control using FEC for Conversational Multimedia Communication Marcin

    Nagy, Varun Singh, Jörg Ott Aalto University {[email protected]} Lars Eggert NetApp, Germany [email protected]
  2. 2 Problem How can we use Forward Error Correction (FEC)

    for error resilience… … and rate control simultaneously
  3. 3 Outline •  Conversational multimedia introduction •  Current congestion control

    approaches •  Our approach: using Forward Error Correction
  4. 4 Outline •  Conversational multimedia introduction •  Current congestion control

    approaches •  Our approach: using Forward Error Correction
  5. 5 Conversational communication Network Video, FEC, RETX à ß RTCP Feedback

    •  Heart of emerging RTC-enabled web applications •  Strict delay on end-to-end packet delivery - 400ms (3GPP standard) •  Small playout buffer - of magnitude smaller than for streaming
  6. 6 RTP and RTCP Sender Receiver RTP media stream (encoded

    media, FEC, repair) RTCP Sender Reports (SRs) •  Timing, synchronization •  Sending rate, packet count RTCP Receiver Reports (RRs) •  Rough statistics •  Congestion cues RTCP XRs: •  Detailed Statistics •  Dejittering, sync, playout •  Monitoring + reporting •  Event notifications •  Local error concealment Short-term adaptation •  Error-resilience (NACK, PLI) •  Congestion control •  Adaptive source coding Long-term adaptation •  Codec choice •  Packetization size •  FEC, interleaving
  7. 7 Error resilience mechanisms NACK (RTX) RPS SSA UEP 3G

    Link Packet Loss End-to-End Delay •  NACK •  Reference Picture Selection •  Slice Size Adaptation •  Uneven Level Protection (FEC)
  8. 8 Forward Error Correction (FEC) •  Redundant stream on top

    of media stream •  Used to recover lost packets •  Various schemes available: XOR-based parity, …
  9. 9 Outline •  Conversational multimedia introduction •  Current congestion control

    approaches •  Our approach: using Forward Error Correction
  10. 10 Current congestion control solutions •  TFRC •  RAP • 

    RRTCC •  C-NADU •  NADA •  DFLOW •  … •  MSFTP (uses FEC but for streaming) •  SVC Congestion control with error resilience decoupled
  11. 11 Outline •  Conversational multimedia introduction •  Current congestion control

    approaches •  Our approach: using Forward Error Correction
  12. 12 Can we use FEC for rate control? •  Primarily

    the error protection method •  Rate control aims at optimal network path utilization –  Mitigates risk of congestion losses •  Rate control requires probing for capacity •  Idea: 1.  Use FEC to probe for available bandwidth 2.  Additional stream protection è more aggressive probing
  13. 13 FEC rate control concept RTCP Interval time Throughput media

    rate FEC STAY state! PROBE state! STAY state! STAY state! UP state! UP state! DOWN state! PROBE state! (A) Adding FEC (B) Swapping FEC with media (C) Partially swapping FEC with media Available Capacity
  14. 14 FEC rate control state machine STAY UP DOWN PROBE

    Good conditions, probe network No more bandwidth available Stable conditions Stable conditions Unstable conditions Unstable conditions Unstable conditions
  15. 15 What is the right FEC rate? Intuition: –  High

    FEC rate •  Higher error protection •  Quick sending rate ramp-up •  Network over-utilization risk –  Low FEC rate •  Lower error protection •  Slow sending rate ramp-up •  Minimizes capacity overshooting Concept: 1.  High FEC rate when operating far from capacity limit 2.  Low FEC rate when approaching capacity limit
  16. 16 FEC Based Rate Adaptation Algorithm •  Delay-based algorithm • 

    Congestion cues: –  RTCP XR (losses and discards) –  One-way delay (OWD) [Ngamwongwattana et. al. 2010] •  XOR-based parity FEC scheme –  2-14 media frames protected by one FEC frame •  Special congestion handling procedures: –  Undershooting –  Bounce-back
  17. 17 Evaluation 0 50 100 150 200 250 300 350

    400 0 100 200 300 400 500 600 700 800 900 Throughput [kbps] Time [s] •  Ns-2 simulation •  Variable link capacity •  50ms one-way-delay •  One flow on the link
  18. 18 Evaluation •  Dummynet emulator •  1Mbit/s link capacity • 

    50ms one-way-delay •  Two RTP flows on the link •  GOP size = 12 0 200 400 400 200 0 0 50 100 150 200 250 300 350 400 0 50 100 50 0 Media Throughput [kbps] FEC Rate [kbps] Time [s] Media 1 Media 2 FEC_Rate 1 FEC_Rate 2
  19. 20 Summary •  A new rate control approach based on

    FEC •  Generic idea that can be incorporated to other solutions –  e.g., RRTCC •  Efficient new congestion control algorithm •  Increased GOP size provides energy savings •  Ready to deploy
  20. 21 Outline •  Conversational multimedia introduction •  Current congestion control

    approaches •  Our approach: using Forward Error Correction •  Adaptive Multimedia System (AMuSys)
  21. 22 AMuSys •  Multimedia congestion control never stand-alone •  Tight-cooperation

    between components required •  Adaptive Multimedia System (AMuSys) –  3 sub-systems •  application, codes, networking components –  Control loops [Singh et. al. 2012] –  Easy to use interface for app developers
  22. 23 AMuSys Expectations: -camera -codec -frame rate Obtain: - reception

    stats - received content - RTP/RTCP - Capacity est. - set parameters - change bitrate - get parameters - get bitrate