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

Adaptive FEC updates

Varun Singh
November 12, 2014

Adaptive FEC updates

RMCAT WG, IETF91, Honolulu

Varun Singh

November 12, 2014
Tweet

More Decks by Varun Singh

Other Decks in Technology

Transcript

  1. Adaptive FEC for Congestion
    Control
    Varun Singh, Marcin Nagy, Jörg Ott, Lars Eggert
    IETF 91, Honolulu,
    09. November 2014
    https://tools.ietf.org/html/draft-singh-rmcat-adaptive-fec-01

    View full-size slide

  2. IPR
    •  2 IPR disclosures
    – Nokia
    – Polycom

    View full-size slide

  3. Error Resilience
    NACK
    (RTX)
    RPS
    SSA
    UEP
    3G Link Packet Loss
    End-to-End Delay
    FEC
    SSA: Adaptive packet sizes
    RPS: reference picture selection

    View full-size slide

  4. 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
    CONCEPT

    View full-size slide

  5. CC Framework
    Media Encoder
    Rate
    Controller
    RTP Packets
    Transport Layer (UDP)
    IP
    Source RTP
    RTCP FB
    Pacing Buffer

    View full-size slide

  6. RFC 6363: FEC Framework
    Media Encoder
    Rate
    Controller
    RTP Packets
    FEC
    Code
    FEC Module
    RTP (De)mux
    Transport Layer (UDP)
    IP
    Repair RTP
    RTCP FB
    Source RTP

    View full-size slide

  7. State Machine
    STAY
    UP
    DOWN
    PROBE
    Good conditions, probe network
    No more bandwidth available
    Stable
    conditions
    Stable
    conditions
    Unstable conditions Unstable conditions
    Unstable
    conditions
    STEADY PROBE
    DECREASE
    INCREASE

    View full-size slide

  8. FEC Scheme
    •  Currently, using
    – parity, 1- or 2-d interleaved XOR (for burst
    loss)
    – There is discussion in RTCWEB on FEC
    schemes.
    •  But,
    – It could be applied to other schemes
    S, Holmer, et al., "Handling  Packet  Loss  in  WebRTC", Proc. of IEEE International Conference
    on Image Processing (ICIP 2013) , 9 2013.

    View full-size slide

  9. RTCP Feedback
    •  RLE of Post-repair (RFC5725)
    •  RLE of loss packets (RFC3611)
    •  RLE of discarded packets (RFC7097)
    •  Packet count of lost and repaired
    packets
    – (draft-ietf-xrblock-post-loss-repair)

    View full-size slide

  10. Calculating goodput
    •  Receiver reports goodput:
    – Goodbytes in reporting interval =
    bytes received – bytes discarded
    OR
    •  Sender calculates goodput:
    – Goodbytes in reporting interval =
    bytes sent – bytes lost – bytes discarded
    RLE reports

    View full-size slide

  11. Undershoot
    •  Congestion reported
    –  Sender calculates duration of congestion =
    HSN when RTCP scheduled – HSN when congestion
    detected
    –  undershoot bytes = sending rate * duration/8
    –  New rate = Goodbytes – undershoot bytes [1]
    OR
    –  Delta = Sending rate – goodput
    –  New rate = sending rate – 2 x delta [2]
    [1] http://www.netlab.tkk.fi/~jo/papers/2012-videv-rate-control.pdf
    [2] http://www.netlab.tkk.fi/~varun/nagy2014mmsys.pdf

    View full-size slide

  12. Typical results
    •  ~90% recovery in time for decoding
    when FEC interval was short
    – Fewer packets protected
    •  ~80% recovery in time for decoding
    when FEC interval was long
    – More packets protected

    View full-size slide

  13. Applicability
    •  Implemented over a delay-based
    congestion control
    – See paper for details
    •  However would like to generalize it.
    – Apply to SCReAM, GCC, …
    Nagy M., Singh V., Ott J., Eggert L., Congestion  Control  using  FEC  for  Conversational  Multimedia  
    Communication, Proc. of ACM Multimedia Systems, Singapore, SG, Mar, 2014,

    View full-size slide

  14. Evaluation (1/3)
    •  Ns-2 simulation, Variable link capacity, Single flow on the link
    0
    50
    100
    150
    200
    250
    300
    350
    400
    0 100 200 300 400 500 600 700 800 900
    Throughput [kbps]
    Time [s]
    OWD: 50ms

    View full-size slide

  15. Evaluation (2/3)
    0 100 200 300 400 500 600 700 800 900
    Time [s]
    OWD: 100ms

    View full-size slide

  16. Evaluation (3/3)
    0 100 200 300 400 500 600 700 800 900
    Time [s]
    Link capacity
    FBRA
    FEC probe rate
    OWD: 240ms

    View full-size slide

  17. 50ms
    0
    500
    1000
    1500
    2000
    2500
    3000
    0 20 40 60 80 100
    Throughput [kbps]
    Time [s]
    Link capacity
    FBRA
    FEC probe rate

    View full-size slide

  18. 50ms
    0
    0.2
    0.4
    0.6
    0.8
    1
    0 20 40 60 80 100
    RTT [ms]
    Time [s]
    RTT

    View full-size slide

  19. 100ms
    0
    500
    1000
    1500
    2000
    2500
    3000
    0 20 40 60 80 100
    Throughput [kbps]
    Time [s]
    Link capacity
    FBRA
    FEC probe rate

    View full-size slide

  20. 100ms
    0
    0.2
    0.4
    0.6
    0.8
    1
    0 20 40 60 80 100
    RTT [ms]
    Time [s]
    RTT

    View full-size slide

  21. RTT fairness (50ms)
    0
    500
    1000
    1500
    2000
    2500
    3000
    3500
    4000
    0 20 40 60 80 100
    Throughput [kbps]
    Time [s]
    Link capacity
    FBRA flow 1
    FBRA flow 2
    FBRA flow 3

    View full-size slide

  22. 5.4: RTT fairness
    0
    0.2
    0.4
    0.6
    0.8
    1
    0 20 40 60 80 100
    RTT [ms]
    Time [s]
    RTT flow 1
    RTT flow 2
    RTT flow 3

    View full-size slide

  23. RTT fairness (100ms)
    0
    500
    1000
    1500
    2000
    2500
    3000
    3500
    4000
    0 20 40 60 80 100
    Throughput [kbps]
    Time [s]
    Link capacity
    FBRA flow 1
    FBRA flow 2
    FBRA flow 3

    View full-size slide

  24. RTT fairness (100ms)
    0
    0.2
    0.4
    0.6
    0.8
    1
    0 20 40 60 80 100
    RTT [ms]
    Time [s]
    RTT flow 1
    RTT flow 2
    RTT flow 3

    View full-size slide

  25. Compete with short TCPs
    0 100 200 300 400 500 600 700 800 900
    Time [s]

    View full-size slide

  26. TESTBED Evaluation (1/2)
    •  1Mbit/s link capacity, 50ms one-way-delay,
    Two RTP flows on the link
    0
    200
    400
    400
    200
    0
    0 50 100 150 200 250 300 350 400
    0
    40
    40
    0
    Throughput [kbps]
    PSNR [dB]
    Time [s]
    FBRA Call1 FBRA Call2 PSNR Call1 PSNR Call2

    View full-size slide

  27. TESTBED Evaluation (2/2)
    0
    200
    400
    400
    200
    0
    0 50 100 150 200 250 300 350 400
    0
    40
    40
    0
    Throughput [kbps]
    PSNR [dB]
    Time [s]
    FBRA Call1 FBRA Call2 PSNR Call1 PSNR Call2
    •  1Mbit/s link capacity, 100ms one-way-delay,

    View full-size slide

  28. Next steps
    •  Code: (coming soon)
    –  https://github.com/protocols-comnet/rmcat-adaptive-fec-code
    •  Evaluation Paper:
    –  Nagy M., Singh V., Ott J., Eggert L., Congestion Control using FEC for
    Conversational Multimedia Communication, Proc. of ACM Multimedia
    Systems, Singapore, SG, Mar, 2014,
    •  More feedback is appreciated J

    View full-size slide