LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING Reza Rejaie, Mark Handley and Deborah Estrin Information Science Institute (ISI), University of.

Slides:



Advertisements
Similar presentations
Cloud Control with Distributed Rate Limiting Raghaven et all Presented by: Brian Card CS Fall Kinicki 1.
Advertisements

Multimedia & Comm. Lab Video Streaming over the Internet 98/11/25 정승훈
Doc.: IEEE /0604r1 Submission May 2014 Slide 1 Modeling and Evaluating Variable Bit rate Video Steaming for ax Date: Authors:
Optimizing Buffer Management for Reliable Multicast Zhen Xiao AT&T Labs – Research Joint work with Ken Birman and Robbert van Renesse.
Distributed Multimedia Systems
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.
Efficient and Flexible Parallel Retrieval using Priority Encoded Transmission(2004) CMPT 886 Represented By: Lilong Shi.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli SIGCOMM 1996.
1 USC INFORMATION SCIENCES INSTITUTE RAP: An End-to-End Congestion Control Mechanism for Realtime Streams in the Internet Reza Rejaie, Mark Handley, Deborah.
Multimedia Proxy Caching Mechanism for Quality Adaptive Streaming Applications in the Internet Reza Rejaie Haobo Yu Mark Handley Deborah Estrin Presented.
Multimedia Proxy Caching Mechanism for Quality Adaptive Streaming Applications in the Internet R. Rejaie, H. Yu, M. Handley, D. Estrin.
Source-Adaptive Multilayered Multicast Algorithms for Real- Time Video Distribution Brett J. Vickers, Celio Albuquerque, and Tatsuya Suda IEEE/ACM Transactions.
Adaptive Video Streaming Over Internet Using Dynamic Video Transcoding By Lam Ling Shun, Felix.
End-to-End TCP-Friendly Streaming Protocol and Bit Allocation for Scalable Video Over Wireless Internet Fan Yang, Qian Zhang, Wenwu Zhu, and Ya-Qin Zhang.
Distributed Video Streaming Over Internet Thinh PQ Nguyen and Avideh Zakhor Berkeley, CA, USA Presented By Sam.
Dual-Plan Bandwidth Smoothing for Layered-Encoded Video Tong Gan, Kai-Kuang Ma, and Liren Zhang IEEE Trans. Multimedia, Apr
Vikash Agarwal, Reza Rejaie Computer and Information Science Department University of Oregon January 19, 2005 Adaptive Multi-Source.
An Integrated Source Transcoding and Congestion Control Paradigm for Video Streaming in the Internet Proposed by R. Puri, K.W. Lee, K. Ramchandran and.
RAP: An End-to-End Rate-Based Congestion Control Mechanism for Realtime Streams in the Internet Reza Rejai, Mark Handley, Deborah Estrin U of Southern.
Adaptive Multi-source Streaming in Heterogeneous Peer-to-peer Network Vikash Agarwa; Reza Rejaie Twelfth Annual Multimedia Computing and Networking (MMCN.
Prefix Caching assisted Periodic Broadcast for Streaming Popular Videos Yang Guo, Subhabrata Sen, and Don Towsley.
Reza Rejaie Computer and Information Science Department University of Oregon Antonio Ortega Integrated Media Systems Center University of Southern California.
1 689 Lecture 2 Review of Last Lecture Networking basics TCP/UDP review.
Real-time smoothing for network adaptive video streaming Kui Gao, Wen Gao, Simin He, Yuan Zhang J. Vis. Commun. Image R. 16 (2005)
Multimedia Robert Grimm New York University. Content: Multimedia Overview  Multimedia = audio and video  Saroiu et al.—An Analysis of Internet Content.
A Real-Time Video Multicast Architecture for Assured Forwarding Services Ashraf Matrawy, Ioannis Lambadaris IEEE TRANSACTIONS ON MULTIMEDIA, AUGUST 2005.
Reza Rejaie AT&T Labs - Research1 Reza Rejaie AT&T Labs – Research Menlo Park, CA Jussi Kangasharju Institut Eurocom France NOSSDAV 2001, New York June.
1 USC INFORMATION SCIENCES INSTITUTE Proxy Caching Mechanism for Multimedia Playback Streams in the Internet R. Rejaie, M. Handley, H. Yu, D. Estrin USC/ISI.
Medium Start in TCP-Friendly Rate Control Protocol CS 217 Class Project Spring 04 Peter Leong & Michael Welch.
Streaming Video Gabriel Nell UC Berkeley. Outline Scalable MPEG-4 video – Layered coding method – Integrated transport-decoder buffer model RAP streaming.
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
Prof. Reza Rejaie Computer & Information Science University of Oregon Winter 2003 An Overview of Internet Multimedia Networking.
Prof. Reza Rejaie Computer & Information Science University of Oregon Winter 2003 An Overview of Internet Multimedia Networking.
CS :: Fall 2003 TCP Friendly Streaming Ketan Mayer-Patel.
Proxy-based TCP over mobile nets1 Proxy-based TCP-friendly streaming over mobile networks Frank Hartung Uwe Horn Markus Kampmann Presented by Rob Elkind.
CS :: Fall 2003 Layered Coding and Networking Ketan Mayer-Patel.
Reza Rejaie AT&T Labs - Research1 Reza Rejaie AT&T Labs – Research Menlo Park, CA. ICON 2000 In collaboration with Mark.
Reza Rejaie CIS UO1 Prof. Reza Rejaie Computer & Information Science University of Oregon Fall 2002 Multimedia.
Multiple Sender Distributed Video Streaming Nguyen, Zakhor IEEE Transactions on Multimedia April 2004.
Receiver-driven Layered Multicast Paper by- Steven McCanne, Van Jacobson and Martin Vetterli – ACM SIGCOMM 1996 Presented By – Manoj Sivakumar.
1 CMSCD1011 Introduction to Computer Audio Lecture 10: Streaming audio for Internet transmission Dr David England School of Computing and Mathematical.
1 Transport Layer Computer Networks. 2 Where are we?
Brierley 1 Module 4 Module 4 Introduction to LAN Switching.
10/1/2015 9:14 PM1 TCP in Mobile Ad-hoc Networks ─ Split TCP CSE 6590.
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.
1 USC INFORMATION SCIENCES INSTITUTE An End-to-end Architecture for Quality- Adaptive Streaming Applications in Best- effort Networks Reza Rejaie
Rate Adaptation Protocol for Real-time Streams Goal: develop an end-to-end TCP-friendly RAP for semi-reliable rate-based applications (e.g. playback of.
Multicast and Unicast Real-Time Video Streaming Over Wireless LANS April. 27 th, 2005 Presented by, Kang Eui Lee.
Scalable Video Coding and Transport Over Broad-band wireless networks Authors: D. Wu, Y. Hou, and Y.-Q. Zhang Source: Proceedings of the IEEE, Volume:
Multimedia Proxy Caching Mechanism for Quality Adaptive Streaming Applications in The Internet Reza Rejaie, Haobo Yu, Mark Handley, and Deborah Estrin.
Video Multicast over the Internet Presented by: Liang-Yuh Wu Lung-Yuan Wu Hao-Hsiang Ku 12 / 6 / 2001 Bell Lab. And Georgia Institute of Technologies IEEE.
An Adaptive Video Streaming Control System: Modeling, Validation, and Performance Evaluation PRESENTED BY : XI TAO AND PRATEEK GOYAL DEC
Unit III Bandwidth Utilization: Multiplexing and Spectrum Spreading In practical life the bandwidth available of links is limited. The proper utilization.
TCP Congestion Control 컴퓨터공학과 인공지능 연구실 서 영우. TCP congestion control2 Contents 1. Introduction 2. Slow-start 3. Congestion avoidance 4. Fast retransmit.
Flow Control in Multimedia Communication Multimedia Systems and Standards S2 IF Telkom University.
On the Interactions Between Layered Quality Adaptation And Congestion Control for Streaming Video Mick Feamster, Deepak Bansal, and Hari Balakrishnan MIT.
HP Labs 1 IEEE Infocom 2003 End-to-End Congestion Control for InfiniBand Jose Renato Santos, Yoshio Turner, John Janakiraman HP Labs.
On the Interactions Between Layered Quality Adaptation and Congestion Control for Streaming Video 11 th International Packet Video Workshop Nick Feamster.
RTP Functionalities for RTCWEB A combined view from the authors of draft-cbran-rtcweb-media-00 draft-cbran-rtcweb-media-00 draft-perkins-rtcweb-rtp-usage-02.
Streaming Video over TCP with Receiver-based Delay Control
The Transport Layer Congestion Control & UDP
Chapter 9: Transport Layer
Instructor Materials Chapter 9: Transport Layer
Video Multicast over the Internet (IEEE Network, March/April 1999)
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
TCP in Mobile Ad-hoc Networks
TCP in Wireless Ad-hoc Networks
Congestion Control, Internet Transport Protocols: UDP
RAP: Rate Adaptation Protocol
Modeling and Evaluating Variable Bit rate Video Steaming for ax
Presentation transcript:

LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING Reza Rejaie, Mark Handley and Deborah Estrin Information Science Institute (ISI), University of Southern California by IEEE Journal On Selected Areas In Communications Vol. 18., NO.12, December 2000 published in

- 2 types of flows: TCP vs. UDP - TCP: responsive to the congestion : reliable (provide retransmission) - UDP: non-responsive : non-reliable Review:

Problem: - Explosive growth of audio & video streaming - Streaming applications: rate-based, delay-sensitive, semi-reliable - Lack of effective congestion control mechanism in such applications

To support streaming applications over the Internet, two conflicting requirements have to be addressed: - Application Requirement * require relatively constant BW to deliver a stream with a certain quality - Network Requirement * end systems are expected to react to congestion properly and promptly

To satisfy these two requirements simultaneously, Internet streaming quality adaptive applications should be quality adaptive - the application should adjust the quality of the delivered stream such that the required BW matches the congestion controlled rate-limit - the main challenge is to minimize the variations in quality, while obeying the congestion controlled rate-limit

This paper presents: novel quality adaptation mechanism - the novel quality adaptation mechanism which can adjust the quality of congestion controlled video playback on-the-fly - the key feature of this mechanism is the ability to control the level of frequency of changes smoothing (i.e., frequency of changes) to improve quality of the delivered stream

Primary Assumption: Rate - the congestion control protocol is Rate Adaptation Protocol (RAP) - RAP is a rate-based congestion control mechanism that employs an Additive Increase Multiplicative Decrease (AIMD) algorithm in a manner similar to TCP

RAP Increase/Decrease Algorithm Base Equation: S i = PacketSize / IPG i To increase the rate additively, IPG i+1 = (IPG i * C) / (IPG i + C) where C is a constant with the dimension of time Upon detecting congestion, the tx rate is decreased multiplicatively, Si+1 = * Si, IPGi+1 = IPGi / where = 0.5   

RAP Decision Frequency - how often to change the rate feedback delay - depends on the feedback delay - feedback delay in ACK-based schemes is equal to one RTT - it is suggested that rate-based schemes adjust their rates not more than once per RTT

remote video server INTERNET Target Environment Client#1 Client#2 Client#3 Client#4 - heterogeneous clients - Video on demand - dominant competing traffic is TCP - short startup latency expected

Quality Adaptation Mechanisms - “Adaptive Encoding”: requantize stored encoding on-the-fly based on the network feedback disadv: CPU-intensive task - “Switching among multiple pre-encoded versions”: the server keeps several versions of each stream with different qualities. As available BW changes, the server chooses the appropriate version of the stream disadv: need large server’s buffer

- “Hierarchical Encoding”: the server maintains a layered encoded version of each stream. As more BW is available, more layers of the encoding are delivered. If the available BW decreases, the server may then drop some of the layers being transmitted *** layered approaches usually have the decoding constraint that a particular enhancement layer can only be decoded if all the lower quality layers have been received

adv:- less storage at the server - provides an opportunity for selective selective repair of the more important information *** the design of a layered approach for quality adaptation primarily entails the design of an efficient add and drop mechanism that maximizes quality while minimizing the probability of base-layer buffer underflow

NOTE ! - Hierarchical Encoding provides an effective way for a video server to coarsely without adjust the quality of a video stream without transcoding transcoding the stored data - However, it does not provide the fine-grained control fine-grained control over BW, that is, BW only changes at the granularity of a layer

- there needs to be a quality adaptation mechanism with the ability to control the level of smoothing “short-term improvement” vs. “long-term smoothing”

aggressive approach - in the aggressive approach, a new layer is added as a result of minor increase in available BW. However, this additional bandwidth does not last long. Thus, the short-term improvement aggressive approach results in short-term improvement conservative approach - in contrast, the conservative approach does not adjust the quality due to the minor changes in BW. Thus, this long-term smoothing results in long-term smoothing

- Hierarchical encoding allows video quality adjustment over long periods of time, whereas congestion control changes the tx rate rapidly over short time intervals - The mismatch between the two buffering data time scales is made up for by buffering data at the receiver at the receiver to smooth the rapid variations in available BW and allow a near constant number of layers to be played

The Proposed Architecture - all the streams are layered-encoded and stored at the server - all active layers are multiplexed into a single RAP flow by the server

- at the client side, layers are de-multiplexed and each one goes to its corresponding buffer - the decoder drains data from buffers and feeds the display - assume that, each layer has the same BW and all buffers are drained with the same constant rate (C) - the congestion control module continuously reports available BW to the quality adaptation module - the quality adaptation module then adjusts # of active layers and allocated share of congestion controlled BW to each active layer

Challenging Questions: - When is it suitable to add a new layer ? - When should we drop a layer ? - What is the optimal allocation of each layer ? Assumption Assumption: - would like to survive a single backoff with all the layers intact

Adding a Layer: The server may add a new layer when: 1.the instantaneous available BW is greater than the consumption rate of the existing layers plus the new layer R > (n a + 1) C, and

2. there is sufficient total buffering at the receiver to survive an immediate backoff and continue playing all the existing layers plus the new layer i=0 to na –1 buf i ([n a + 1] C – [R/2]) 2 2*S   where R: the current tx rate n a : the number of currently active layer buf i : the amount of buffered data for layer i S : the rate of linear increase in BW

Dropping a Layer: - once a backoff occurs, if the total amount of buffering at the receiver is less than the estimated required buffering for recovery (i.e., the area of triangle cde in fig.5), the correct action is to immediately drop the highest layer - if the buffering is still insufficient, the server should interactively drop the highest layer until the amount of buffering is sufficient

while ( n a C > R + 2S i=0 to na-1 buf i )   do n a = n a - 1

Optimal Interlayer Buffer Allocation: - due to the decoding constraint in hierarchical encoding, each additional layer depends on all the lower layers - a buffer allocation mechanism should provide higher protection for lower layers by allocating a higher share of total buffering to them

- the minimum number of buffering layers that are needed for successful recovery from short-term reduction in available BW can be determined as: n b = n a – [R/(2*C)], n a C > R/2 n b = 0, n a C <= R/2 wheren b : # of buffering layers n a : # of active layers

- the consumption rate of a layer must be supplied either from the network or from the buffer or a combination of the two -If it is supplied entirely from the buffer, that layer’s buffer is draining at consumption rate C.

The optimal amount of buffering for layer i is: if i < n b – 1, Buf i,opt = C [C (2n a – 2i - 1) - R] 2S if i = n b – 1 (the top layer), Buf i,opt = C [n a C – (R/2) – (i*C)] 2 2S

Fine-Grain Bandwidth Allocation: - the server can control the filling and draining pattern of receiver’s buffers by proper fine-grain bandwidth allocation among active layers - fine-grain bandwidth allocation is performed by assigning the next packet to a particular layer

- the main challenge is that the optimal interlayer buffer allocation depends on the transmission rate at the time of a priori backoff (R), which is not known a priori because a backoff may occur at any random time - to tackle this problem, during the filling phase, the server utilizes extra BW to progressively fill receiver’s buffers step-wise up to an optimal state in a step-wisefashion

- the server maintains an image of the receiver’s buffer state, which is continuously updated based on the playout information included in ACK pkts

- During the filling phase, the extra BW is allocated among buffering layers on a per-packet basis through the following steps assuming a backoff will occur immediately: 1. if we keep only one layer (L 0 ), is there sufficient buffering with optimal distribution to recover ? * if there is no sufficient buffering, the next packet is assigned to L 0 until this condition is met and then the second step is started

2. if we keep only two layers (L 0, L 1 ), is there sufficient buffering with optimal distribution to recover ? * if there is no sufficient buffering, the next packet is assigned to L0 until it reaches its optimal level. Then, the server starts sending packets for L1 until both layers have the optimal level of buffering to survive - we then start a new step and increase the number of expected surviving layers, calculate a new optimal buffer distribution and sequentially their buffers up to the new optimal level - this process is repeated until all layers can survive a single backoff

-During the draining phase, BW share plus draining rate for each layer is equal to its consumption rate. - Thus, maximally efficient buffering results in the upper layers being supplied from the network during the draining phase, while the lower layers are supplied from their buffers

If we would like to survive more than one backoff (K max > 1): - During the filling phase:

- During the draining phase: * due to one or more backoffs * reverse the filling phase * identify between which two steps we are currently located. This determines how many layers should be dropped due to lack of sufficient buffering * then, we traverse through the steps in the reverse order to determine which buffering layers must be drained and by how much * the amount and pattern of draining is then controlled by fine-grain interlayer BW allocation by the server