LAYERED QUALITY ADAPTATION for INTERNET VIDEO STREAMING

Preview:

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 Presentation

Citation preview

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

- 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 & videostreaming

- Streaming applications: rate-based,delay-sensitive, semi-reliable

- Lack of effective congestioncontrol mechanism in such applications

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

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

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

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

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

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

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

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

- “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

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

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

- there needs to be a quality adaptationmechanism with the ability to control thelevel of smoothing

“short-term improvement” vs. “long-term smoothing”

- 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

- 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

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 ?

AssumptionAssumption:

- would like to survive a single backoffwith all the layers intact

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

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

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

while ( naC > R + 2S i=0 to na-1 bufi )

dona = na - 1

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

- 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

- 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.

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

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

- 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

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

- 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

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

-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

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:

- 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

Recommended