Rate Adaptations.

Slides:



Advertisements
Similar presentations
1 School of Computing Science Simon Fraser University CMPT 771/471: Internet Architecture & Protocols TCP-Friendly Transport Protocols.
Advertisements

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Peer-to-Peer Streaming.
Saamer Akhshabi, Constantine Dovrolis Georgia Institute of Technology An Experimental Evaluation of Rate Adaptation Algorithms in Adaptive Video Streaming.
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.
Will Law | Chief Media Architect | Akamai Optimizing the Black Box of HTML.
Doc.: IEEE /0604r1 Submission May 2014 Slide 1 Modeling and Evaluating Variable Bit rate Video Steaming for ax Date: Authors:
NUS.SOC.CS Roger Zimmermann (based on slides by Ooi Wei Tsang) MPEG + RTP.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli University of Calif, Berkeley and Lawrence Berkeley National Laboratory SIGCOMM.
Ahmed Mansy, Mostafa Ammar (Georgia Tech) Bill Ver Steeg (Cisco)
Suphakit Awiphan, Takeshi Muto, Yu Wang, Zhou Su, Jiro Katto
Dynamic Adaptive Streaming over HTTP2.0. What’s in store ▪ All about – MPEG DASH, pipelining, persistent connections and caching ▪ Google SPDY - Past,
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 1 Adaptive Playout.
Measurements of Congestion Responsiveness of Windows Streaming Media (WSM) Presented By:- Ashish Gupta.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli SIGCOMM 1996.
1 Sangeun Han, Athina Markopoulou Transmitting Scalable Video over a DiffServ network EE368C Project Proposal Sangeun Han, Athina Markopoulou 1/30/01.
A Layered Hybrid ARQ Scheme for Scalable Video Multicast over Wireless Networks Zhengye Liu, Joint work with Zhenyu Wu.
Streaming Media. Unicast Redundant traffic Multicast One to many.
Streaming Video Gabriel Nell UC Berkeley. Outline Scalable MPEG-4 video – Layered coding method – Integrated transport-decoder buffer model RAP streaming.
Peter Parnes, CDT1/22 Media Scaling of IP-Multicast Streams in Heterogeneous Networks Peter Parnes LTU-CDT/Marratech Roxy Workshop Media Scaling.
CS :: Fall 2003 Layered Coding and Networking Ketan Mayer-Patel.
Receiver-driven Layered Multicast Paper by- Steven McCanne, Van Jacobson and Martin Vetterli – ACM SIGCOMM 1996 Presented By – Manoj Sivakumar.
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
1 Cache Me If You Can. NUS.SOC.CS5248 OOI WEI TSANG 2 You Are Here Network Encoder Sender Middlebox Receiver Decoder.
Physical Layer Informed Adaptive Video Streaming Over LTE Xiufeng Xie, Xinyu Zhang Unviersity of Winscosin-Madison Swarun KumarLi Erran Li MIT Bell Labs.
An Efficient Approach for Content Delivery in Overlay Networks Mohammad Malli Chadi Barakat, Walid Dabbous Planete Project To appear in proceedings of.
NUS.SOC.CS5248 Ooi Wei Tsang Previously, on CS5248..
1 Adaptable applications Towards Balancing Network and Terminal Resources to Improve Video Quality D. Jarnikov.
A Comparison of Layering and Stream Replication Video Multicast Schemes Taehyun Kim and Mostafa H. Ammar Networking and Telecommunications Group Georgia.
The MPEG-DASH Standard for Multimedia Streaming Over the Internet Chih-Hsiang Chou Advisor: Prof Dr. Ho-Ting Wu Department of Computer Science and Information.
TCP with Variance Control for Multihop IEEE Wireless Networks Jiwei Chen, Mario Gerla, Yeng-zhong Lee.
Transport Layer3-1 TCP throughput r What’s the average throughout of TCP as a function of window size and RTT? m Ignore slow start r Let W be the window.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 1 Proxy Caching for Streaming 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.
Flow Control in Multimedia Communication Multimedia Systems and Standards S2 IF Telkom University.
Experimental Study on Wireless Multicast Scalability using Merged Hybrid ARQ with Staggered Adaptive FEC S. Makharia, D. Raychaudhuri, M. Wu*, H. Liu*,
NUS.SOC.CS5248 OOI WEI TSANG 1 Previously, on CS5248..
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Rate Adaptations.
VoIP ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
Accelerating Peer-to-Peer Networks for Video Streaming
The Transport Layer Congestion Control & UDP
Klara Nahrstedt Spring 2012
DASH2M: Exploring HTTP/2 for Internet Streaming to Mobile Devices
Dynamic Adaptive Streaming over HTTP
CS5248: Systems Support for Continuous Media
Chapter 6 TCP Congestion Control
Proxy Caching for Streaming Media
RTP: A Transport Protocol for Real-Time Applications
Error Recovery.
MDC METHOD FOR HDTV TRANSMISSION OVER EXISTING IP NETWORK
Mohammad Malli Chadi Barakat, Walid Dabbous Alcatel meeting
Rate Adaptations.
MPEG + RTP.
CIS, University of Delaware
Adaptive Playout.
Video Multicast over the Internet (IEEE Network, March/April 1999)
DASH Background Server provides multiple qualities of the same video
Video On Demand.
Congestion Control, Internet transport protocols: udp
Available Bit Rate Streaming
ECF: an MPTCP Scheduler to Manage Heterogeneous Paths
RAP: Rate Adaptation Protocol
Gigabit measurements – quality, not (just) quantity
Low-Latency Adaptive Streaming Over TCP
Transport Layer: Congestion Control
TCP flow and congestion control
Modeling and Evaluating Variable Bit rate Video Steaming for ax
Presentation transcript:

Rate Adaptations

Rate Adaptation – Why?

Rate Adaptation – Why? Adaptation to dynamic network conditions Adapts to dynamic conditions anywhere on the path through the Internet and/or home network. Decrease continual connections between S and C’s while increase scalability of clients. Transmission rate should match encoding rate Otherwise: non-continuous playback (stalls) Improved end-user Quality of Experience (QoE) Enables faster start-up and seeking Reduces freezes (stalls) and blocking

Types of Rate Adaptation Transmission Rate Adaptation Adapt data transmission to fluctuating network conditions Media Rate Adaptation Media data rate must match data transmission rate; otherwise stalls, etc. Media data rate can be controlled by encoder (parameters) or via scalable coding (SVC, MDC) NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Transmission Rate Adaptation Client-side Rate Adaptation Used with DASH Server-side Rate Adaptation Used with RTP/RTCP/RTSP suite (e.g., used in WebRTC) NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Client-Side Adaptations e.g., used with DASH

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

Dynamic Adaptive Streaming over HTTP (DASH) Fragment the video into small fixed duration (2 to 10s) segments Encode and store segments at different bitrate and resolution levels List the encoded segments in a Media Presentation Description (MPD) Send segments using HTTP POST Request the MPD Download segments using HTTP GET select bitrate based on TCP bandwidth estimation Adapt to network resources dynamically

Overview

Client-side Bitrate (BR) Adaptation The bitrate adaptation logic is fully controlled by the client (purely client-driven). Bitrate adaptation heuristics based on: Available bandwidth Playback buffer size Chunk scheduling Hybrid-based Interesting algorithms Li et al (2014), Liu et al (2011) Huang et al (2014), Mueller et al (2015) Jiang et al (2012), Chen et al (2013) Yin et al (2015), Li et al. (2014), De Cicco et al. (2013), Miller et al. (2012), Zhou et al. (2012)

Adaptation Comparison (1) “A Comparison of Quality Scheduling in Commercial Adaptive HTTP Streaming Solutions on a 3G Network” Haakon Riiser, Håkon S. Bergsaker, Paul Vigmostad, Pål Halvorsen, Carsten Griwodz, ACM MoVid '12, proceedings of the 4th Workshop on Mobile Video, pp. 25-30. This paper compares four commuter scenarios:

Adaptation Comparison (2) Netview Netview

1. Available Bandwidth BR Adaptation Uses the available bandwidth estimation as an heuristic in the bitrate adaptation logic algorithm. Interesting algorithms: Li et al. (2014), Liu et al. (2011) Challenges and drawbacks: Blind available bandwidth sharing between competing clients Each client strives to fetch the high chunk bitrate => unfairness, congestion Distribute the available bandwidth equally between clients Heterogeneous devices with various capabilities case? The bandwidth estimation is not accurate  DASH scalability issues Lack of a central manager May suffer from buffer starvation and undesirable QoE Worst decisions when number of clients increase

2. Buffer Level Size BR Adaptation Uses the current buffer level size as an criterion in the bitrate adaptation logic algorithm. Interesting algorithms: Huang et al. (2014), Mueller et al. (2015) Challenges and drawbacks: Suffer from frequent bitrate switch with a low perpetual quality Low end-user QoE Can not deal with rapid and/or sudden bandwidth variations Very slow detection  very slow detection, eliminate the available bandwidth estimation Can not support many clients

3. Chunk Scheduling BR Adaptation Divides the bitrate adaptation algorithm into many components and uses scheduling approach to select a suitable bitrate level. Interesting algorithms: Jiang et al. (2012), Chen et al. (2013) Challenges and drawbacks: Is exposed to instability issue when the number of players increases Inaccurate bandwidth estimation Ignored responsiveness to bandwidth fluctuations Buffer undershoot issue and stalls Achieves unpleasant end-user QoE Hard to implement in a real word without any central control manager that schedules bitrate decisions for each client

4. Hybrid BR Adaptation The client makes its bitrate selection based on combination between available bandwidth and buffer level heuristics. Interesting algorithms: Yin et al. (2015), Li et al. (2014), De Cicco et al. (2013), Miller et al. (2012), Zhou et al. (2012) Challenges and drawbacks: Supports few number of clients Avoid just one or two of scalability issues e.g., consistent quality without taking into account fair share of bandwidth Lack of optimal bitrate decisions Does not consider any metric of user satisfaction Suffers from video instability and stalls Achieves a poor end-user QoE

Commercial Solution Bitrate Adaptation Microsoft smooth player (MSS) Current available bandwidth, playback windows resolution and CPU load as heuristics for bitrate adaptation logic. Apple HTTP Live streaming player (HLS) Current available bandwidth, device capabilities as heuristics during the bitrate adaptation logic process. Adobe OSMF Adapts to the network variations based on the available bandwidth and device processing capabilities. Akamai HD Adapts to the network variations based on the available bandwidth and CPU load.

Comparison (Self-Study) heterogeneous systems = different device capabilities with different communication technologies

Server-Side Adaptations e.g., used with RTP/RTCP/RTSP suite

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

Sender’s Algorithm open UDP socket foreach video frame chop into packets add RTP header send to network NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Sender’s Algorithm open UDP socket foreach video frame chop into packets add RTP header send to network wait for 1/fps seconds NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Sender’s Algorithm open UDP socket foreach video frame chop into packets add RTP header send to network wait for 1/fps seconds Send frames at equal time distance. NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

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 Send data at constant bandwidth. NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Rules Transmission rate should match encoding rate Transmission should not be too bursty NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Two Approaches Just send at a fix rate or “I hope the network can handle it” approach NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Effects on TCP: Simulation From Sisalem, Emanuel and Schulzrinne paper on “Direct Adjustment Algorithm.” NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Effects on TCP NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

DAA Parameters Adaptive RTP flows TCP 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 halved NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Two Approaches Just send at a fixed rate or “I hope the network can handle it” approach Adapt transmission/encoding rate to network condition NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

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 NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

How to .. Know “network condition is bad”? Increase/decrease rate? NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Adapting Output Rate if network condition is bad else if network condition is so-so do nothing else if network condition is good NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Adapting Output Rate if network condition is bad Multiplicative decrease if network condition is bad else if network condition is so-so do nothing else if network condition is good Additive increase NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Multiplicative decrease Adapting Output Rate ri Additive increase Multiplicative decrease NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Question: What should  and  be? NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Observation 1 Should never change your rate more than an equivalent TCP stream. NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Observation 2  and  should depend on network conditions and current rate. current rate high, NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Goal: Fair Share of Bottleneck let r : current rate b : bottleneck bandwidth S : current share current rate high, NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

S versus   S 1 NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Value of  (Assuming one receiver) NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Limit of  M : packet size  : round trip time T : period between evaluation of   Limited to the average rate increase a TCP connection would utilize during periods without losses. NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Loss rate versus   1 1 loss rate NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Value of m where is the loss rate k is a constant (Assuming one receiver) NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

LDA Algorithm NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

What is Needed? NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

What is Needed? We know vi, r, M, T,  But not b NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Estimating b : Packet Pair NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Estimating b : Packet Pair NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Estimating b : Packet Pair NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Evaluation NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Rules Transmission rate should match encoding rate Transmission should not be too bursty NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

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

Reduce Frame Rate Live Video Stored Video NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Reduce Frame Resolution Live Video Stored Video NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Increase Quantization Live Video Stored Video NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Drop AC components Live Video Stored Video NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Trouble with Stored Video Reducing rate requires partial decoding and re-encoding Solution: Layered Video NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Layered Video or “Scalable Video”

Layered Video Layer 1 Layer 2 Layer 3 One of the better proposed solution is called RLM or receiver driven layered multicast. The idea is to divide a stream into multiple layers. The base layer encodes the video stream at a low bitrate, and each additional layer on top enhances its quality. The layers are sent onto different multicast channels, and receivers can choose the number of layers to receive based on their available bandwidth. NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Layering Scheme Temporal (Frame Rate) Layering NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Layering Scheme Spatial (Resolution) Layering NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

© Mihaela van der Schaar Layering Scheme Fine Granularity Scalability (FGS): e.g., MPEG-4 © Mihaela van der Schaar NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Layered Video SVC: Scalable Video Coding Base-layer plus enhancement layers Each received layer improves the quality Layer n+1 depends on layer n MDC: Multiple Description Coding Layers are independent NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Layered Video BUT: Layered video codecs are less bandwidth-efficient than single-layer codecs. NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Rate Adaptation To increase rate, send more layers To decrease rate, drop some layers NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Summary (1) Rate Adaptation – Why? Media Rate Control – Why? Adapt data transmission to fluctuating network conditions Media Rate Control – Why? Media data rate must match data transmission rate; otherwise stalls, etc. Media data rate can be controlled by encoder (parameters) or via scalable coding (SVC, MDC) NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Summary (2) Client-Side Rate Adaptation Server-Side Rate Adaptation Used with DASH (i.e., HTTP/TCP) Can be based on bandwidth, buffer, or both Server-Side Rate Adaptation Used with RTP/RTCP/RTSP Tries to be TCP-friendly at packet level NUS.SOC.CS5248-2017 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)