Published on

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Transport of Real-Time Flows Bernd Girod Information Systems Laboratory Stanford University
  2. 2. [Economist, September 2005] THE MEANING OF FREE SPEECH The acquisition by eBay of Skype is a helpful reminder to the world's trillion-dollar telecoms industry that all phone calls will eventually be free . . . . . . Ultimately—perhaps by 2010—voice may become a free internet application, with operators making money from related internet applications like IPTV . . .
  3. 3. IPTV Rollout IPTV SBC 18M households by 2007 Verizon 10M households by 2009 [IEEE Spectrum, Jan. 2005]
  4. 4. Why Is Real-Time Transport Hard? Internet is a best-effort network . . . Congestion Insufficient rate to communicate Packet loss Impairs perceptual quality Delay Impairs interactivity of services; Telephony: one way delay < 150 ms [ITU-T Rec. G.114] Delay jitter Obstructs continuous media playout
  5. 5. Clean Slate Internet Design Research Areas Network Architecture Heterogeneous Applications Heterogeneous Physical Layers Security Econo- mics & Regu- lation
  6. 6. Outline of the Talk <ul><li>QoS vs. best effort </li></ul><ul><li>Resource allocation for IPTV </li></ul><ul><li>Rate-distortion optimized streaming </li></ul>
  7. 7. How 1B Users Share the Internet maximum transfer unit round trip time packet loss rate data rate [Mahdavi, Floyd, 1997] [Floyd, Handley, Padhye, Widmer, 2000] Rate r Growing congestion p 0.001 0.0001 0.1 0.01 TCP Throughput RTT
  8. 8. QoS vs. Best Effort <ul><li>Reservation-ism </li></ul><ul><ul><li>Voice and video need guaranteed QoS (bandwidth, loss, delay) </li></ul></ul><ul><ul><li>Implement admission control: “Busy tone” when network is full </li></ul></ul><ul><ul><li>Best effort is fine for data applications </li></ul></ul><ul><li>Best Effort-ism </li></ul><ul><ul><li>Best Effort good enough for all applications </li></ul></ul><ul><ul><li>Real-time applications can be made adaptive to cope with any level of service </li></ul></ul><ul><ul><li>Overprovisioning always solves the problem, and it’s cheaper than QoS guarantees </li></ul></ul>
  9. 9. Simple Model of A Shared Link <ul><li>Link of capacity C is shared among k flows </li></ul><ul><li>Fair sharing: each flow uses data rate C/k </li></ul><ul><li>Homogeneous flows with same utility function u (.) </li></ul><ul><li>Total utility </li></ul>C [Breslau, Shenker, 1998]
  10. 10. Rigid Applications <ul><li>Utility u=0 below of minimum bit-rate B </li></ul><ul><li>Maximum total utility U=k* is achieved by admitting at most k* flows </li></ul>u C/k B 1 [Breslau, Shenker, 1998]
  11. 11. Rigid Applications (cont.) <ul><li>Expected loss in total utility w/o admission control </li></ul><ul><li>Gap  U is substantial when number of admissable flows k* is small </li></ul><ul><li>Gap  U usually disappears with growing capacity C  Overprovisioning can solve the problem! </li></ul>[Breslau, Shenker, 1998]
  12. 12. Elastic Applications <ul><li>Elastic applications: utility function u ( k ) , such that total utility U ( k ) =ku ( C/k ) increases with k </li></ul><ul><li>Example: u ( C/k )=1- a C/k </li></ul><ul><li>All flows should be admitted: best effort! </li></ul>C/k u
  13. 13. Video Compression <ul><li>H.264 video coding for 2 different testsequences </li></ul><ul><li>Video is elastic application </li></ul><ul><li>Rate must be adapted to network throughput </li></ul><ul><li>How to achieve rate control for stored content or multicasting? </li></ul><ul><li>Utility function depends on content: should use unequal rate allocation </li></ul>Foreman Mobile Good picture quality Bad picture quality
  14. 14. <ul><li>Example: u k (r k )=1-a k r k </li></ul><ul><li>With r k >=0  Karush-Kuhn-Tucker conditions (“reverse water-filling”) </li></ul><ul><li>Better than utility-oblivious “fair” sharing </li></ul>Different Utility Functions r k u k Equal-slope “Pareto condition” Vilfredo Pareto 1848-1923
  15. 15. Distribution of IPTV over WLAN [courtesy: van Beek, 2004] 5 Mbps 2 Mbps 11 Mbps Home Media Gateway
  16. 16. Video Streaming Over Shared Channel Receiver (Multi-Channel) Transcoder Transcoder Transcoder Transcoder 0 1 2 3 Decoder Decoder Decoder Decoder 0 1 2 3 Controller [Kalman, van Beek, Girod 2005]
  17. 17. Dynamically Changing RD Function Weighted average of last I-Frame, P-Frame and B-Frame used for RD estimation Scene Cut
  18. 18. Utility-Based Resource Allocation <ul><li>Average PSNR: 37.6 dB </li></ul><ul><li>Average PSNR Stream 4: 35.5 dB </li></ul>Min-MSE Allocation <ul><li>Average PSNR: 37.5 dB </li></ul><ul><li>Average PSNR Stream 4: 32.9 dB </li></ul>Equal Time Allocation
  19. 19. Tx Backlog for 4 Video Streams 85% WLAN Utilization [Kalman, van Beek, Girod 2005]
  20. 20. Streaming of Stored Content DSL Cable wireless Media files are already compressed: How can we nevertheless adapt to network? 100s to 1000s simultaneous streams Server Client Network
  21. 21. Not All Packets are Equally Important P P I I B B B P P P I I B B B P A … … … A …
  22. 22. Not All Packets are Equally Important P B P P I I B B P P I I B B B P A … … … A …
  23. 23. Distortion-Aware Packet Dropping Good Picture quality Bad picture quality Percentage of Packets Retained [%] Distortion aware Packet dropping No retransmissions QCIF Carphone I-P-P-P-P-P- . . . Oblivious [Chakareski, Girod, ICME 2004]
  24. 24. Rate-Distortion Optimized (RaDiO) Streaming <ul><li>“ Decide which packets to send (and when) to maximize picture quality while not exceeding an average rate” [2001] </li></ul>Server Client Network Request stream Rate-distortion preamble Packet schedule Video data Repeat request Repeat request Repeat request
  25. 25. A Brief History of Media Streaming <ul><li>Media streaming w/o congestion avoidance: “reckless driving” [1995] </li></ul><ul><li>TCP-friendly rate control: “Limit average rate for fair sharing with TCP” [1997] </li></ul><ul><li>Rate-distortion optimized packet scheduling (RaDiO): “Decide which packets to send (and when) to maximize picture quality while not exceeding an average rate” [2001] </li></ul><ul><li>Congestion-distortion-optimized scheduling/routing (CoDiO): “Decide which packets to send (and when) to maximize picture quality while minimizing network congestion.” [2004] </li></ul>
  26. 26. Congestion vs. Rate <ul><li>Congestion : queuing delay that packets experience </li></ul><ul><ul><li>weighted by size of the packet </li></ul></ul><ul><ul><li>averaged over all packets in the network </li></ul></ul><ul><li>Congestion increases nonlinearly with link bit-rate </li></ul>R max Congestion  [seconds] Rate R
  27. 27. Video Distortion with Self Congestion Good Picture quality Bad picture quality Bit-Rate [kbps] Self congestion causes late loss
  28. 28. Streaming with Last Hop Bottleneck Random cross traffic Low bandwidth last hop Video traffic Acknowledgments High bandwidth links
  29. 29. Delay distribution <ul><li>Overall delay distribution </li></ul><ul><li>Queue length determines delay of last hop </li></ul>delay pdf C
  30. 30. Comparison RaDiO vs. CoDiO Simulations using H.263+ Rate : 10 fps Sequence : Foreman (32kbps,32kbps) Sequence length : 60s Playout deadline : 600ms 50 % PSNR [dB] Rate [kbps] PSNR [dB] End-to-end delay [ms]
  31. 31. Concluding Remarks <ul><li>Over-provisioning makes QoS superfluous </li></ul><ul><li>Elastic applications don’t need QoS </li></ul><ul><li>Joint rate control for access bottlenecks (e.g. IPTV, WLAN) </li></ul><ul><li>Media-aware congestion control (e.g. CoDiO) </li></ul>
  32. 32. The End