NUS.SOC.CS5248-2014 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 1 Adaptive Playout.

Slides:



Advertisements
Similar presentations
Streaming Protocol Suite
Advertisements

Comp Spring 2003 Delay Jitter Ketan Mayer-Patel.
NUS.SOC.CS5248 Ooi Wei Tsang 1 Adaptive Playout. NUS.SOC.CS5248 Ooi Wei Tsang 2 You are Here Network Encoder Sender Middlebox Receiver Decoder.
LOGO Video Packet Selection and Scheduling for Multipath Streaming IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 9, NO. 3, APRIL 2007 Dan Jurca, Student Member,
RTP: A Transport Protocol for Real-Time Applications Provides end-to-end delivery services for data with real-time characteristics, such as interactive.
NUS.SOC.CS Roger Zimmermann (based on slides by Ooi Wei Tsang) MPEG + RTP.
1 NUS.SOC.CS5248 OOI WEI TSANG Playout Buffer Management.
Chapter 6 outline r 6.1 Multimedia Networking Applications r 6.2 Streaming stored audio and video m RTSP r 6.3 Real-time, Interactive Multimedia: Internet.
Voice Over Internet- Issues Dr. Abhay Karandikar Department of Electrical Engineering Indian Institute of Technology, Bombay. Dr. Abhay Karandikar Department.
Measurements of Congestion Responsiveness of Windows Streaming Media (WSM) Presented By:- Ashish Gupta.
2001/02/15Chin-Kai Wu, CS, NTHU1 Adaptive Playout Mechanisms for Packetized Audio Applications in Wide-Area Networks Ramachandran Ramjee, Jim Kurose, Don.
Supporting Stored Video: Reducing Rate Variability and End-toEnd Resource Requirements through Optimal Smoothing By James D. salehi, Zhi-Li Zhang, James.
NUS.SOC.CS Roger Zimmermann (based on slides by Ooi Wei Tsang) Systems Support for Continuous Media.
A Monotonic-Decreasing Rate Scheduler for Variable-Bit-Rate Video Streaming Hin-lun Lai IEEE Transactions on Circuits and System for Video Technology,
Successful Multiparty Audio Communication over the Internet Vicky Hardman, M. Angela Sasse and Isidor Kouvelas Department of Computer Science University.
Packet audio playout delay adjustment Performance bounds and algorithms Moon, Kurose, Towsley.
Prefix Caching assisted Periodic Broadcast for Streaming Popular Videos Yang Guo, Subhabrata Sen, and Don Towsley.
1 CSE 401N Multimedia Networking Lecture Multimedia, Quality of Service: What is it? Multimedia applications: network audio and video network provides.
CSc 461/561 CSc 461/561 Multimedia Systems Part C: 1. RTP/RTCP.
Proxy-based TCP over mobile nets1 Proxy-based TCP-friendly streaming over mobile networks Frank Hartung Uwe Horn Markus Kampmann Presented by Rob Elkind.
Successful Multiparty Audio Communication over the Internet Vicky Hardman, M. Angela Sasse and Isidor Kouvelas Department of Computer Science University.
Variable Bit Rate Video Coding April 18, 2002 (Compressed Video over Networks: Chapter 9)
Ch. 28 Q and A IS 333 Spring Q1 Q: What is network latency? 1.Changes in delay and duration of the changes 2.time required to transfer data across.
Nus.soc.cs5248 Ooi Wei Tsang 1 Intermedia Synchronization Ooi Wei Tsang.
CS640: Introduction to Computer Networks
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
1 Cache Me If You Can. NUS.SOC.CS5248 OOI WEI TSANG 2 You Are Here Network Encoder Sender Middlebox Receiver Decoder.
Computer Networks: Multimedia Applications Ivan Marsic Rutgers University Chapter 3 – Multimedia & Real-time Applications.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 29 – Buffer Management (Part 2) Klara Nahrstedt Spring 2012.
Quality of Service in the Internet The slides of part 1-3 are adapted from the slides of chapter 7 published at the companion website of the book: Computer.
Chapter 5: Summary r principles behind data link layer services: m error detection, correction m multiple access protocols m link layer addressing, ARP.
1 Multimedia Communication Multimedia Systems(Module 5 Lesson 2) Summary: r Internet Phone Example m Making the Best use of Internet’s Best-Effort Service.
RANI NALAMARU DEPARTMENT OF COMPUTER SCIENCE BALL STATE UNIVERSITY RANI NALAMARU DEPARTMENT OF COMPUTER SCIENCE BALL STATE UNIVERSITY Efficient Transmission.
NUS.SOC.CS5248 Ooi Wei Tsang Previously, on CS5248..
NUS.SOC.CS Roger Zimmermann (based on slides by Ooi Wei Tsang) Systems Support for Continuous Media.
1 © NOKIA FILENAMs.PPT/ DATE / NN Helsinki University of Technology Department of Electrical and Communications Engineering Jarkko Kneckt point to point.
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
Advanced Technology Laboratories Practical Considerations for Smoothing Multimedia Traffic over Packet- Switched Networks Christos Tryfonas
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 1 Proxy Caching for Streaming Media.
Internet multimedia: simplest approach audio, video not streamed: r no, “pipelining,” long delays until playout! r audio or video stored in file r files.
NUS.SOC.CS Roger Zimmermann (based on slides by Ooi Wei Tsang) Systems Support for Continuous Media.
NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder.
An Adaptive Video Streaming Control System: Modeling, Validation, and Performance Evaluation PRESENTED BY : XI TAO AND PRATEEK GOYAL DEC
NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Rate Adaptations.
3GPP2 Evolution Workshop Multimedia Codecs and Protocols 3GPP2 TSG-C SWG1.2.
NUS.SOC.CS Roger Zimmermann (based on slides by Ooi Wei Tsang) Project Packetize MP3 audio into RTP Packets.
Managing VBR Videos. The VBR Problem Constant quality Burstiness over multiple time scales Difference within and between scenes Frame structure of encoding.
RTP and playout delay compensation Henning Schulzrinne Dept. of Computer Science Columbia University Fall 2003.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 24 – Client-Server Buffer Management Klara Nahrstedt Spring 2011.
Chapter 5 Peer-to-Peer Protocols and Data Link Layer Timing Recovery.
NUS.SOC.CS5248 OOI WEI TSANG 1 Previously, on CS5248..
NUS.SOC.CS5248 Ooi Wei Tsang Systems Support for Continuous Media.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Rate Adaptations.
The Transport Layer Congestion Control & UDP
Topics discussed in this section:
CS5248: Systems Support for Continuous Media
Proxy Caching for Streaming Media
Project Proposal Due Next Mon. Submit by
Error Recovery.
Rate Adaptations.
MPEG + RTP.
Adaptive Playout.
Video On Demand.
Multimedia networking: outline
CprE 458/558: Real-Time Systems
Multimedia networking: outline
Presentation transcript:

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 1 Adaptive Playout

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 2 You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 3 How to recv and play? open socket while not done if socket is readable read packet from socket remove RTP header decode play back

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 4 What’s Wrong? packet ordering packet loss next packet arrive in-time? Especially bad for audio applications

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 5 Overview Network RTP Classifier Decode

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 6 Implementation Single Thread using select() Multi-Threads

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 7 Packet Buffer Sorted by sequence number When ADU is complete, send to decoder RTP Classifier

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 8 Playout Buffer Stored decoded data in playout order Post-processing/Mixing may happen Decode

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 9 Why Buffer?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 10 Sending Packets Time Packet

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 11 Receiving Packets Time Packet

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 12 With Jitter Time Packet

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 13 With Jitter Time Packet

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 14 What causes Jitter? Network delay = Transmission Delay (fixed) + Propagation Delay (fixed) + Queuing Delay (variable) Delay jitter is caused by variable queuing delay

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 15 Delay Jitter Time Transit Time small jitter large jitter

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 16 Spike Time Transit Time

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 17 Today’s Question How big is the playout buffer? When to play back?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 18 Types of Applications Non-interactive Buffer can be large Interactive As small as possible

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 19 Types of Applications Video Frames are discrete (easier problem) Audio Samples are “continuous”

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 20 Naive Answer How big is a buffer? Fixed at a small value, to reduce latency When to playback? Playback as soon as possible, to reduce latency

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 21 Client Buffer Management Bandwidth Smoothing for Non- interactive Applications

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 22 Multi-Threshold Flow Control R. Zimmermann, K. Fu, M. Jahangiri, C. Shahabi MTAP 2006

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 23 Video-on-Demand (VoD) High-quality playback required Buffer can be large Encoding may be VBR for high visual quality Playback time may be very long (2+ hours)

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 24 Two Approaches (1) Server-controlled Pre-compute transmission schedule Piece-wise linear approximation: compute a number of constant-rate segments Different optimization criteria Minimize: # of rate changes, # utilization of client buffer, peak rate, etc.

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 25 Two Approaches (2) Client-controlled Client adaptively informs server Advantages: No rate history necessary (VBR) Can adjust to network conditions Works easily with interactive commands such as FF, FR, Pause

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 26 Robust Stream Delivery Smoothing of VBR media traffic has the following quality benefits: Better resource utilization (less bursty) More streams with the same network capacity

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 27 Objectives Multi-Threshold Flow Control (MTFC) algorithm objectives: Online operation Content independence Minimizing feedback control signaling Rate smoothing

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 28 Example

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 29 MTFC Buffer Management Multiple Thresholds: goal is middle of buffer Send rate adjust command to server whenever threshold is crossed

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 30 How to Set Thresholds? Simple: equi-distant m: number of thresholds Overflow and underflow thresholds

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 31 How to Calculate Sending Rate?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 32 Threshold Spacing Strategies Linear vs. arithmetic vs. geometric

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 33 Threshold Spacing Strategies Geometric and arithmetic spacing:

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 34 Sending Rate Computation Relevant factors: Target buffer level (i.e., 50%): TH N Current buffer level: b wobsv Predicted duration to reach target level Data consumed during predicted duration

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 35 MTFC Results

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 36 MTFC Results: # of Thresholds

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 37 MTFC Results: # of Thresholds Number Of Rate Changes 8MB 16MB 32MB Number of Thresholds

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 38 A Brief Introduction to Audio Conferencing

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 39 Audio Conferencing Live, interactive application Latency is important Each packet contains 20-30ms of audio

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 40 Silence Suppression Silence Detection if no sound, no need to send Talk spurt consecutive audio packets (between silence) hundreds of ms

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 41 Recall: RTP Header marker bit: depends on payload e.g. beginning of frame

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 42 RTP and Talkspurt First packet of a talkspurt will have marker bit set to 1

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 43 RTP and Talkspurt Deduce talkspurt from sequence number and timestamp SeqNo TimeStamp

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 44 Consequences of Talkspurt Opportunity to adjust playout delay if jitter is large, increase delay if jitter is small, decrease delay

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 45 Fixed Playout Delay SEND RECV PLAY

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 46 Adaptive Playout Delay SEND RECV PLAY

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 47 Adaptive Playout Delay SEND RECV PLAY

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 48 Trade-Off Latency vs. Packet Loss

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 49 Latency vs Loss-Rate Loss Rate Latency

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 50 Adaptive Playout Mechanisms for Packetized Audio Applications in WAN R. Ramjee, J. Kurose, D. Towsley, H. Schulzrinne INFOCOM 1994

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 51 Variables and Notations

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 52 Variables and Notations T send (i) T play (i) T buf (i) T arrive (i) T delay (i) T net (i)

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 53 1 st Packet in Talkspurt We can estimate as

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 54 How to estimate V net (i)

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 55 How to estimate E net (i) Method 1: Jacobson’s Method

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 56 Spike Time T net

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 57 Problems Does not react to spike fast enough

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 58 How to estimate E net (i) Ramjee’s Method SPIKENORMAL

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 59 Ramjee’s Idea SPIKENORMAL if T net (i) suddenly increase if “slope” is small enough

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 60 In Spike Mode SPIKE i T net

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 61 In Normal Mode NORMAL i T net

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 62 Evaluations Delay Loss Rate

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 63 Problems with Ramjee’s Method Time Transit Time

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 64 Packet Audio Playout Delay Adjustment: Performance Bounds and Algorithms S. Moon, J. Kurose, D. Towsley Multimedia Systems 1998

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 65 Recall Previous Methods

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 66 How to Set T delay (i) Moon’s Method Collect statistics on packets that have arrived. Find t such that q% of last w packets have T net (i) < t.

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 67 Example (w =50, q = 90%) num of packets delay

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 68 Setting T delay (i) NORMALSPIKE

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 69 Setting T delay (i) Time Transit Time

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 70 Performance Bound Given a trace of packets, and a loss rate, find the minimum average playout delay. Use Dynamic Programming

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 71 A Packet Trace k M talkspurts 1,k2,k3,kj,kn k,k T net …

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 72 More Notations M: Number of Talkspurt N packet (k) or n k Number of packets in talkspurt k N total Total number of packets

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 73 Definition minimum average playout delay for choosing i packets to be played out from k-th talkspurt k M talkspurts

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 74 How to find

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 75 Definition minimum average playout delay for choosing i packets to be played out from k-th to M-th talkspurt k M talkspurts M..

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 76 Base Case D(k, 0) = D(M, i) = minimum average playout delay for choosing i packets to be played out from k-th to M-th talkspurt

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 77 Recursive Case k.. M 1,k2,k3,kn k,k.. j

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 78 Performance Bound Given a trace of M talkspurts and n packets, and a loss rate e, find the minimum average playout delay. Answer: Minimum possible average playout delay is D(1, (1-e)n) minimum average playout delay for choosing i packets to be played out from k-th to M-th talkspurt

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 79 Evaluations Loss Rate Delay

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 80 Summary Playout Adjustment for Audio Conferencing Weighted Average Methods vs. Statistical Methods An Analysis of Minimum Playout Delay

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 81 Practical Complications Clock Drifts Route Change

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 82 Advanced Techniques Speed-up Playback