Video through a Crystal Ball: Effect of Bandwidth Prediction Quality on Adaptive Streaming in Mobile Environments Tarun ManglaT, Nawanol Theera-Amprnount*, Mostafa AmmarT, Ellen ZeguraT, Saurabh Bagchi* * T
Outline Motivation System Context Adaptation Algorithm Evaluation Conclusion
Outline Motivation System Context Adaptation Algorithm Evaluation Conclusion
Video dominates Mobile Internet Mobile video traffic accounted for 55 percent of total mobile data traffic in 2015 Video streaming: Why is it important? What technology is currently used? Explain ABR mechanism in detal Give source for this figure Adaptive bitrate (ABR) streaming is used to handle diversity of clients Source: Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, 2015–2020 White Paper
Overview of ABR streaming? Network Explain DASH streaming 720p 480p Video is divided into chunks Each chunk is encoded at multiple bitrates 360p
Overview of ABR streaming? Network Explain DASH streaming Adaptation Algorithm HTTP GET “Yellow” Adaptation algorithm located at client decides the quality of chunks to download
Overview of ABR streaming? Network Explain DASH streaming Adaptation Algorithm HTTP GET “Red”
Overview of ABR streaming? Network Explain DASH streaming Adaptation Algorithm HTTP GET “Red”
Overview of ABR streaming? Network Explain DASH streaming Different implementations of adaptation algorithm with different adaptation logic Adaptation Algorithm HTTP GET “Green”
Adaptation algorithm goal Bitrate adaptation algorithm aims to improve the Quality of Experience (QoE) of streaming. QoE is characterized by: Number of bitrate switches Rebuffering ratio Average bitrate
Existing adaptation approaches Rate-based Adapt based on past chunk throughput Buffer-based Adapt based on current buffer occupancy Most of the video players use a hybrid of these two approaches.
Existing adaptation approaches Existing approaches use information from past (or present) making them reactive They have to experience the bandwidth fluctuation in order to infer it time Bandwidth Bandwidth decreased! adapt!
Stationary clients vs Mobile clients Mobile client: Low bandwidth, high fluctuation and intermittent connectivity. Substantiate using figures. Stationary client: Connected to home WiFi Mobile client: Connected to campus WiFi while on a bus Mobile clients usually have: Lower average bandwidth High bandwidth fluctuations Intermittent connectivity Reactive adaptation Degradation in QoE
Prediction-based adaptation Network Adaptation Algorithm Proactive end-to-end available bandwidth predictions Bandwidth prediction Decouple adaptation and bandwidth prediction Adapt using proactive bandwidth predictions
Bandwidth prediction system Our focus How does prediction quality, namely horizon and accuracy impact the performance of prediction-aware adaptation system? Under what bandwidth profiles is it most useful to have predictions? How does prediction-based streaming architecture interact with video system parameters? Network Adaptation Algorithm Bandwidth prediction system Focus on defining the characteristics this system should have in order to be useful. When is it most critical to have such system. Interaction of such system with video system parameter. Not focusing on how to design such bandwidth prediction system, but on Bandwidth prediction
Outline Background and Motivation System Context CrystalBall Adaptation Algorithm Evaluation Discussion
System context Prediction Model Bandwidth prediction vector , where Quantify error in prediction ( ) as, Video Model Video of M chunks of length L, each encoded in bitrate set is the current buffer and is the maximum buffer
Outline Background and Motivation System Context Adaptation Algorithm Evaluation Discussion
CrystalBall Adaptation No errors in prediction Errors in prediction Clear CrystalBall Adaptation (CCB) Foggy CrystalBall Adaptation (FCB)
Clear CrystalBall Algorithm (CCB) Input : current buffer : b/w prediction Video parameters Adaptation algorithm : target bitrate An MILP optimization problem can be formulated with these constraints, but solving such problem is time consuming Maximize : Constraint : No rebuffering max-min has a side effect of reducing bitrate switches
Clear CrystalBall Algorithm (CCB) Intuition: bandwidth at time t can be used to download chunk with playback time greater than t Bandwidth Time Bandwidth Slots 1 2 3 4 Divide time into n slots based on chunk playback time
Clear CrystalBall Algorithm (CCB) Bandwidth Slots 1 2 3 4 Bandwidth Slots 1 2 3 If bandwidth of current slot greater than next, then merge the two slots
Clear CrystalBall Algorithm (CCB) Bandwidth Slots 1 2 3 Bandwidth Slots 1 2 Iterate till no more merging is possible Assign bitrate to each slot
Foggy CrystalBall Algorithm (FCB) What if there are errors in predictions? Overestimation ( ) : switch-up and rebuffering Underestimation ( ) : switch-down and underutilization FCB = CCB + Error Mitigation Heuristic Error mitigation heuristic tries to avoid (wrong) switches
Foggy CrystalBall Algorithm (FCB) FCB = CCB + Error Mitigation Heuristic Error mitigation heuristic A switch-up decision could be because of over-estimation. Switch-up only if bandwidth is greater than 1+alpha times target bitrate. Here alpha is a safety parameter and is a function of how much over estimation A switch-down decision could be because of under-estimation. We could avoid this switch-down but if the buffer is too low, we should switch-down : target bitrate : predicted bw Switch up : Switch down : : current buffer : maximum buffer
Outline Background and Motivation System Context Adaptation Algorithm Evaluation Discussion
Evaluation When is it most useful to have predictions? How does prediction quality, namely horizon and accuracy impact the performance of prediction-aware adaptation system? How does prediction-based streaming architecture interact with video system parameters? Focus on defining the characteristics this system should have in order to be useful. When is it most critical to have such system. Interaction of such system with video system parameter. Not focusing on how to design such bandwidth prediction system, but on
Experimental Setup Bandwidth traces Synthetic traces Video parameters and metrics: 10 minute long video, chunk size 4s 6 bitrate levels (in kbps): {150, 300, 600, 1200, 2000 ,3000} Maximum buffer size : 32s QoE: Rebuffering ratio, Average bitrate, Number of bitrate switches Bandwidth traces Synthetic traces Campus WiFi traces Observed bandwidth while riding a bus 40 traces, each 15 min long
Experimental Setup RBA : Harmonic Mean of last 5 chunks Video Client: A simulator written in Python Input : bandwidth traces and video parameters Four adaptation algorithms Rate-based adaptation (RBA), [CoNext, 2012] Buffer-based adaptation (BBA), [Sigcomm, 2014 ] Prediction-based adaptation (PBA), [HotMobile, 2015] CrystallBall adaptation (CCB, FCB) Player takes into i RBA : Harmonic Mean of last 5 chunks BBA : Current buffer occupancy PBA : Average of predicted bandwidth
When are predictions most useful? Used a rectangular waveform to model fluctuating bandwidth profile
Amplitude of fluctuations L = 30s, D = 0.5 Predictions are useful under high amplitude fluctuations
Performance on campus-wifi traces RBA and PBA have high rebuffering BBA has high switches CCB performs well across all metrics
How does prediction quality impacts performance? Prediction window Errors in prediction
Effect of Prediction Window QoE increases with increase in prediction window Benefits of prediction diminish (80s here) after a horizon
Effect of errors Prediction errors depend on prediction system Intuitively, probability of error increases as we predict farther into future. Consider time-varying errors,
Effect of errors FCB can mitigate the errors in prediction PBA w/ errors has higher rebuffering alpha = 0.2, beta = 0.6 : FCB can alleviate errors with proper error mitigation heuristic PBA w/ errors has higher switches FCB can mitigate the errors in prediction
Role of video system parameters? Buffer size Bitrate granularity
Prediction-aware adaptation can take advantage of buffer size Effect of buffer size CCB bitrate increases with increase in maximum buffer size. CCB, number of bitrate switches decrease but remain same in RBA Prediction-aware adaptation can take advantage of buffer size
Conclusion Designed a prediction-aware adaptation algorithm Characterized bandwidth profiles when predictions are useful Using Crystallball adaptation, explored the effects of errors and prediction window on performance of adaptive streaming Examined the role of video system parameters in prediction-aware streaming
Questions?
Backup Slides
Bandwidth Prediction System Cross-layer approach [CQIC, HotMobile 2015] Location-based [BreadCrumbs, MobiCom 2008] Real-time data at network [TANGO, HotDep 2013] Shaping at network [IFIP Networking, 2015]
Buffer-based adaptation
PBA vs CrystalBall Short term vs long term predictions Optimization function Adaptation heuristic Do no consider errors in prediction
Frequency of fluctuations
Duration of intermittent connectivity
Trade-off between window and error Larger window size: more errors Small window size: less information Large prediction window, more information but more errors Small prediction window, less errors but less information
Bitrate granularity Prediction-based adaptation can cope with increasing bitrate granularity.