1 / 60

Rate Adaptations

This article discusses the adaptation of transmission and encoding rates in video streaming to match network conditions. It explores different approaches and their effects on TCP. The paper also examines how to adapt the output rate based on network conditions and proposes a fair share of bottleneck approach. Additionally, it covers rate control methods and introduces the concept of layered video for reducing rates. The article concludes by discussing intelligent streaming techniques.

Download Presentation

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 foreach packet add RTP header send to network wait for size/bps seconds

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

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

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

  9. Effects on TCP

  10. 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 halfed

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

  12. 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

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

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

  15. Question: What should  and  be?

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

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

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

  19. S vs   S 1

  20. Value of  (Assuming one receiver)

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

  22. loss rate vs   1 1 loss rate

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

  24. What is Needed?

  25. Estimating b : Packet Pair

  26. Estimating b : Packet Pair

  27. Estimating b : Packet Pair

  28. Evaluation

  29. More TCP-Friendly Rate Control

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

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

  32. Another Transport Protocol • Datagram Congestion Control Protocol (DCCP) • Implements congestion control but not reliability

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

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

  35. Reduce Frame Rate • Live Video • Stored Video

  36. Reduce Frame Resolution • Live Video • Stored Video

  37. Increase Quantization • Live Video • Stored Video

  38. Drop AC components • Live Video • Stored Video

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

  40. Layered Video or “Scalable Video”

  41. Layered Video Layer 1 Layer 2 Layer 3

  42. Layering Scheme • Temporal (Frame Rate) Layering

  43. Layering Scheme • Spatial (Resolution) Layering

  44. 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

  45. 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

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

  47. MS Windows Streaming Media

  48. Intelligent Streaming • Multiple-Bit-Rate Encoding • Intelligent Bandwidth Control • bit rate selection • thinning • Intelligent Image Processing

  49. Intelligent Streaming • How exactly does it work? • Sorry, it’s proprietary

More Related