layered quality adaptation for internet video streaming
DESCRIPTION
by. Reza Rejaie, Mark Handley and Deborah Estrin. Information Science Institute (ISI), University of Southern California. LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING. published in. IEEE Journal On Selected Areas In Communications - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/1.jpg)
LAYERED QUALITY ADAPTATION for
INTERNET VIDEO STREAMING
Reza Rejaie, Mark Handley and Deborah EstrinInformation Science Institute (ISI), University of Southern California
by
IEEE Journal On Selected Areas In Communications Vol. 18., NO.12, December 2000
published in
![Page 2: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/2.jpg)
- 2 types of flows: TCP vs. UDP
- TCP : responsive to the congestion : reliable (provide retransmission)
- UDP : non-responsive : non-reliable
Review:
![Page 3: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/3.jpg)
Problem:
- Explosive growth of audio & videostreaming
- Streaming applications: rate-based,delay-sensitive, semi-reliable
- Lack of effective congestioncontrol mechanism in such applications
![Page 4: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/4.jpg)
To support streaming applicationsover 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
toreact to congestion properly and promptly
![Page 5: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/5.jpg)
To satisfy these two requirementssimultaneously, Internet streamingapplications should be quality adaptivequality adaptive
- the application should adjust thequality of the delivered stream suchthat the required BW matches thecongestion controlled rate-limit
- the main challenge is to minimize the variations in quality, while obeyingthe congestion controlled rate-limit
![Page 6: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/6.jpg)
This paper presents:
- the novel quality adaptation mechanismnovel quality adaptation mechanismwhich can adjust the quality of congestioncontrolled video playback on-the-fly
- the key feature of this mechanism isthe ability to control the level of smoothing (i.e., frequency of changesfrequency of changes) toimprove quality of the delivered stream
![Page 7: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/7.jpg)
Primary Assumption:
- the congestion control protocol is Rate Rate Adaptation Protocol (RAP)Adaptation Protocol (RAP)
- RAP is a rate-based congestion controlmechanism that employs an AdditiveIncrease Multiplicative Decrease (AIMD) algorithm in a manner similar to TCP
![Page 8: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/8.jpg)
RAP Increase/Decrease Algorithm
Base Equation: Si = PacketSize / IPGi
To increase the rate additively, IPGi+1 = (IPGi * C) / (IPGi + C)where C is a constant with the dimensionof time
Upon detecting congestion, the tx rateis decreased multiplicatively, Si+1 = * Si, IPGi+1 = IPGi / where = 0.5
![Page 9: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/9.jpg)
RAP Decision Frequency
- how often to change the rate
- depends on the feedback delayfeedback 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
![Page 10: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/10.jpg)
remotevideoserver
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
![Page 11: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/11.jpg)
Quality Adaptation Mechanisms
- “Adaptive Encoding”:requantize stored encoding on-the-fly
based on the network feedbackdisadv: CPU-intensive task
- “Switching among multiple pre-encodedversions”:
the server keeps several versions of each stream with different qualities. Asavailable BW changes, the server choosesthe appropriate version of the stream
disadv: need large server’s buffer
![Page 12: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/12.jpg)
- “Hierarchical Encoding”:the server maintains a layered encoded
version of each stream. As more BW isavailable, more layers of the encoding aredelivered. If the available BW decreases,the server may then drop some of the layers being transmitted
*** layered approaches usually have thedecoding constraint that a particular enhancement layer can only be decoded if all the lower quality layers have been received
![Page 13: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/13.jpg)
adv: - less storage at the server- provides an opportunity for selective selective repair of the more important information
*** the design of a layered approach forquality adaptation primarily entails thedesign of an efficient add and drop mechanism that maximizes quality whileminimizing the probability of base-layerbuffer underflow
![Page 14: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/14.jpg)
NOTENOTE ! !
- Hierarchical Encoding provides aneffective way for a video server to coarselyadjust the quality of a video stream without without transcodingtranscoding the stored data
- However, it does not provide thefine-grained controlfine-grained control over BW, that is, BWonly changes at the granularity of a layer
![Page 15: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/15.jpg)
- there needs to be a quality adaptationmechanism with the ability to control thelevel of smoothing
“short-term improvement” vs. “long-term smoothing”
![Page 16: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/16.jpg)
- in the aggressive approachaggressive approach, a new layer is added asa result of minor increase in available BW. However, thisadditional bandwidth does not last long. Thus, theaggressive approach results in short-term improvementshort-term improvement
- in contrast, the conservative approachconservative approach does not adjustthe quality due to the minor changes in BW. Thus, thisresults in long-term smoothinglong-term smoothing
![Page 17: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/17.jpg)
- Hierarchical encoding allows videoquality adjustment over long periods of time,whereas congestion control changes the txrate rapidly over short time intervals
- The mismatch between the two time scales is made up for by buffering databuffering dataat the receiverat the receiver to smooth the rapid variations in available BW and allow a nearconstant number of layers to be played
![Page 18: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/18.jpg)
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
![Page 19: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/19.jpg)
- 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
![Page 20: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/20.jpg)
![Page 21: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/21.jpg)
![Page 22: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/22.jpg)
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 ?
AssumptionAssumption:
- would like to survive a single backoffwith all the layers intact
![Page 23: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/23.jpg)
Adding a LayerAdding a Layer::
The server may add a new layer when:
1.the instantaneous available BW isgreater than the consumption rate of theexisting layers plus the new layer
R > (na + 1) C, and
![Page 24: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/24.jpg)
2. there is sufficient total bufferingat the receiver to survive an immediatebackoff and continue playing all the existing layers plus the new layer
i=0 to na –1 bufi ([na + 1] C – [R/2])2
2*S
where R : the current tx rate na : the number of currently active layer bufi : the amount of buffered data for layer i S : the rate of linear increase in BW
![Page 25: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/25.jpg)
Dropping a LayerDropping a Layer::
- once a backoff occurs, if the totalamount of buffering at the receiver isless than the estimated required bufferingfor recovery (i.e., the area of trianglecde in fig.5), the correct action is to immediately drop the highest layer
- if the buffering is still insufficient, theserver should interactively drop the highest layer until the amount of bufferingis sufficient
![Page 26: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/26.jpg)
while ( naC > R + 2S i=0 to na-1 bufi )
dona = na - 1
![Page 27: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/27.jpg)
Optimal Interlayer Buffer AllocationOptimal Interlayer Buffer Allocation::
- due to the decoding constraint inhierarchical encoding, each additionallayer depends on all the lower layers
- a buffer allocation mechanism shouldprovide higher protection for lower layersby allocating a higher share of total buffering to them
![Page 28: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/28.jpg)
- the minimum number of buffering layersthat are needed for successful recoveryfrom short-term reduction in available BWcan be determined as:
nb = na – [R/(2*C)] , naC > R/2 nb = 0 , naC <= R/2
where nb : # of buffering layers na : # of active layers
![Page 29: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/29.jpg)
![Page 30: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/30.jpg)
- the consumption rate of a layer must besupplied either from the network or fromthe 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.
![Page 31: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/31.jpg)
The optimal amount of buffering forlayer i is:
if i < nb – 1,
Bufi,opt = C [C (2na – 2i - 1) - R] 2S
if i = nb – 1 (the top layer),
Bufi,opt = C [naC – (R/2) – (i*C)]2
2S
![Page 32: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/32.jpg)
Fine-Grain Bandwidth AllocationFine-Grain Bandwidth Allocation::
- the server can control the filling anddraining pattern of receiver’s buffersby proper fine-grain bandwidth allocationamong active layers
- fine-grain bandwidth allocation isperformed by assigning the next packetto a particular layer
![Page 33: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/33.jpg)
- the main challenge is that the optimalinterlayer buffer allocation depends onthe transmission rate at the time of abackoff (R), which is not known a prioripriori because a backoff may occur at anyrandom time
- to tackle this problem, during thefilling phase, the server utilizes extraBW to progressively fill receiver’s buffersup to an optimal state in a step-wisestep-wisefashionfashion
![Page 34: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/34.jpg)
![Page 35: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/35.jpg)
- the server maintains an image of thereceiver’s buffer state, which is continuously updated based on theplayout information included in ACK pkts
![Page 36: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/36.jpg)
- During the filling phase, the extra BWis allocated among buffering layers on aper-packet basis through the following steps assuming a backoff will occurimmediately:
1. if we keep only one layer (L0), is there sufficientbuffering with optimal distribution to recover ?
* if there is no sufficient buffering, the next packetis assigned to L0 until this condition is met and then thesecond step is started
![Page 37: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/37.jpg)
2. if we keep only two layers (L0, L1), is there sufficientbuffering with optimal distribution to recover ?
* if there is no sufficient buffering, the next packetis assigned to L0 until it reaches its optimal level. Then,the server starts sending packets for L1 until both layershave the optimal level of buffering to survive
- we then start a new step and increase the number ofexpected surviving layers, calculate a new optimal bufferdistribution and sequentially their buffers up to the newoptimal level
- this process is repeated until all layers can survive asingle backoff
![Page 38: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/38.jpg)
-During the draining phase, BW shareplus draining rate for each layer is equalto its consumption rate.
- Thus, maximally efficient bufferingresults in the upper layers being suppliedfrom the network during the draining phase, while the lower layers are suppliedfrom their buffers
![Page 39: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/39.jpg)
If we would like to survive more thanIf we would like to survive more thanone backoff (Kone backoff (Kmaxmax > 1) > 1)::
- During the filling phase:
![Page 40: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/40.jpg)
![Page 41: LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING](https://reader036.vdocument.in/reader036/viewer/2022062500/5681570d550346895dc4adff/html5/thumbnails/41.jpg)
- During the draining phase:
* due to one or more backoffs * reverse the filling phase
* identify between which two steps we arecurrently located. This determines how many layers should be dropped due to lackof 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 isthen controlled by fine-grain interlayerBW allocation by the server