1 / 63

Rate Adaptations

Rate Adaptations. You are Here. Encoder. Decoder. Middlebox. Receiver. Sender. Network. Sender’s Algorithm. open UDP socket foreach video frame chop into packets add RTP header send to network. Sender’s Algorithm. open UDP socket foreach video frame

minowa
Télécharger la présentation

Rate Adaptations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rate Adaptations

  2. You are Here Encoder Decoder Middlebox Receiver Sender Network

  3. Sender’s Algorithm open UDP socket foreach video frame chop into packets add RTP header send to network

  4. Sender’s Algorithm open UDP socket foreach video frame chop into packets add RTP header send to network wait for 1/fps seconds

  5. Sender’s Algorithm open UDP socket foreach video frame chop into packets add RTP header send to network wait for 1/fps seconds • Send frames at equal time distance.

  6. Sender’s Algorithm open UDP socket foreach video frame chop into packets foreach packet add RTP header send to network wait for size/bps seconds • Send data at constant bandwidth.

  7. Rules • Transmission rate should match encoding rate • Transmission should not be too bursty

  8. Just send at a fix rate or “I hope the network can handle it” approach Two Approaches

  9. Effects on TCP: Simulation From Sisalem, Emanuel and Schulzrinne paper on “Direct Adjustment Algorithm.”

  10. Effects on TCP

  11. DAA Parameters • Adaptive RTP flows • Additive increase/multiplicative decrease • 50 kb and factor 0.875 • RTCP: min 5 sec inter-report time • Loss thresholds: 5% and 10% • TCP • Immediate loss notification • Transmission window is halved

  12. Just send at a fixed rate or “I hope the network can handle it” approach Adapt transmission/encoding rate to network condition Two Approaches

  13. How to Adapt? if network condition is bad reduce rate else if network condition is so-so do nothing else if network condition is good increase rate

  14. How to .. • Know “network condition is bad”? • Increase/decrease rate?

  15. Adapting Output Rate if network condition is bad else if network condition is so-so do nothing else if network condition is good

  16. Adapting Output Rate Multiplicative decrease if network condition is bad else if network condition is so-so do nothing else if network condition is good Additive increase

  17. Question: What should  and  be?

  18. Observation 1 • Should never change your rate more than an equivalent TCP stream.

  19. Observation 2 •  and  should depend on network conditions and current rate.

  20. Goal: Fair Share of Bottleneck • let r : current rate b : bottleneck bandwidth S : current share

  21. S vs   S 1

  22. Value of  (Assuming one receiver)

  23. Limit of  • M : packet size •  : round trip time • T : period between evaluation of 

  24. Loss rate vs  1 1 loss rate

  25. Value of m where is the loss rate k is a constant (Assuming one receiver)

  26. What is Needed?

  27. Estimating b : Packet Pair

  28. Estimating b : Packet Pair

  29. Estimating b : Packet Pair

  30. Evaluation

  31. More TCP-Friendly Rate Control

  32. TCP-Equation Window size behavior in TCP/IP with constant loss probability T. Ott, J. Kemperman, and M. Mathis June 1997, HPCS 1997

  33. TCP-Equation Equation-Based Congestion Control for Unicast Applications Sally Floyd, Mark Handley, Jitendra Padhye, and Joerg Widmer.August 2000. SIGCOMM 2000

  34. Rules • Transmission rate should match encoding rate • Transmission should not be too bursty

  35. Rate Control Given a rate, how to encode the video with the given rate?

  36. Reduce Frame Rate • Live Video • Stored Video

  37. Reduce Frame Resolution • Live Video • Stored Video

  38. Increase Quantization • Live Video • Stored Video

  39. Drop AC components • Live Video • Stored Video

  40. Trouble with Stored Video • Reducing rate requires partial decoding and re-encoding • Solution: Layered Video

  41. Layered Video or “Scalable Video”

  42. Layered Video Layer 1 Layer 2 Layer 3

  43. Layering Scheme • Temporal (Frame Rate) Layering

  44. Layering Scheme • Spatial (Resolution) Layering

  45. Layering Scheme • DCT Layering; SNR (Quality) Layering 30 8 2 30 8 2 0 30 -6 -1 -6 -1 0 0 1 1 0 0 0 0 0 0 0

  46. Layering Scheme • Fine Granularity Scalability (FGS): e.g., MPEG-4 1 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0

  47. Layered Video • SVC: Scalable Video Coding • Base-layer plus enhancement layers • Each received layer improves the quality • Layer n+1 depends on layer n • MDC: Multiple Description Coding • Layers are independent • Each received layer improves the quality

  48. Layered Video • BUT: Layered video codecs are less bandwidth-efficient than single-layer codecs.

  49. Rate Adaptation • To increase rate, send more layers • To decrease rate, drop some layers

More Related