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