42
Authors: HUAHUI WU, MARK CLAYPOOL, and ROBERT KINICKI Presented By Siddharth Singla Jangsung Lee Adjusting Forward Error Correction with Temporal Scaling for TCP-Friendly Streaming MPEG

Authors: HUAHUI WU, MARK CLAYPOOL, and ROBERT KINICKI Presented By Siddharth Singla Jangsung Lee Adjusting Forward Error Correction with Temporal Scaling

Embed Size (px)

Citation preview

Authors:

HUAHUI WU, MARK CLAYPOOL, and ROBERT KINICKI

Presented By

Siddharth Singla

Jangsung Lee

Adjusting Forward Error Correction with Temporal Scaling for TCP-Friendly Streaming MPEG

OVERVIEWOVERVIEW

IntroductionIntroduction BackgroundBackground Analytical ModelAnalytical Model Analytic ExperimentsAnalytic Experiments Simulation ExperimentsSimulation Experiments ConclusionConclusion

IntroductionIntroduction

Volume of data traversing the Net increasing Volume of data traversing the Net increasing quicklyquickly

Overcoming short-term congestion & avoiding Overcoming short-term congestion & avoiding collapse handled by TCPcollapse handled by TCP

UDP preferred over TCP for multimedia UDP preferred over TCP for multimedia applicationsapplications

Suggestions to make all applications TCP-Suggestions to make all applications TCP-friendlyfriendly

New TCP-friendly protocols for streaming New TCP-friendly protocols for streaming proposedproposed

=> Congestion!=> Congestion!

However,However,

Fortunately,Fortunately,

Therefore,Therefore,

IntroductionIntroduction

Router AQM techniques respond efficiently to Router AQM techniques respond efficiently to congestion congestion

Media ScalingMedia Scaling Temporal scalingTemporal scaling Randomly dropping packets can be Randomly dropping packets can be

degraded qualitydegraded quality 3% packet loss is converted into 30% frame 3% packet loss is converted into 30% frame

lossloss

FEC makes FEC makes the receiver detect and correct the receiver detect and correct errors by adding redundant dataerrors by adding redundant data

Retransmission is not feasible for multimediaRetransmission is not feasible for multimedia

IntroductionIntroduction

FEC + TCP friendly protocol is proposedFEC + TCP friendly protocol is proposed However, FEC itself can cause data rate to However, FEC itself can cause data rate to

be reducedbe reduced

Enhancements in this articleEnhancements in this article Use currently static FEC or adapt FEC to Use currently static FEC or adapt FEC to

packet loss without regard to TCP friendly packet loss without regard to TCP friendly data rate constraintsdata rate constraints

Model to account for temporal scaling to Model to account for temporal scaling to preserve real-time video playoutpreserve real-time video playout

Compare new analytic model with Compare new analytic model with simulationssimulations

IntroductionIntroduction

OVERVIEWOVERVIEW

IntroductionIntroduction BackgroundBackground

BackgroundBackground

1. TCP friendly flows1. TCP friendly flows TCP friendly flows: TCP friendly flows: bandwidth usage in bandwidth usage in

steady-state is no more than a TCP flow steady-state is no more than a TCP flow under similar network conditionsunder similar network conditions

ss: packet size: packet size p: p: packet loss probability packet loss probability tRTT: tRTT: round-trip time round-trip time tRTO: tRTO: retransmit timeoutretransmit timeout

BackgroundBackground

1. TCP friendly flows1. TCP friendly flows T provides upper bound on TCP friendly T provides upper bound on TCP friendly

sending ratesending rate Prevents flows from consuming more than Prevents flows from consuming more than

fair share of BWfair share of BW

**PADHYE, J., FIROIU, V., TOWSLEY, D., AND KURO

SE, J. 1998. Modeling TCP throughput: A simple mod

el and its empirical validation

2. Forward Error Correction (FEC)2. Forward Error Correction (FEC) Add Add (N −K) redundant packets to the K (N −K) redundant packets to the K

original packets and send N packets as original packets and send N packets as one frameone frame

Frame is successfully reconstructed if Frame is successfully reconstructed if >= K correct packets are received>= K correct packets are received

FEC can cause additional delayFEC can cause additional delay SSoftware FEC can be done in real-time oftware FEC can be done in real-time

with data rates up to 100 Mbps or use with data rates up to 100 Mbps or use H/W to speedup FEC encodingH/W to speedup FEC encoding

BackgroundBackground

2. Forward Error Correction (FEC)2. Forward Error Correction (FEC) Probability of K packets being Probability of K packets being

transmitted successfullytransmitted successfully

This equation ignores bursty nature of This equation ignores bursty nature of packetspackets

BackgroundBackground

3. MPEG3. MPEG Use both intraframe and interframe Use both intraframe and interframe compressioncompression I frames focus on encoding similarities I frames focus on encoding similarities

within a video scenewithin a video scene P frames are encoded based on motion P frames are encoded based on motion differences from preceding P framesdifferences from preceding P frames B frames are encoded based motion B frames are encoded based motion

differences from preceding and differences from preceding and succeeding P framessucceeding P frames

MPEG repeats a GOPMPEG repeats a GOP

BackgroundBackground

3. MPEG3. MPEG I frame is more important than P and P I frame is more important than P and P

is more important than Bis more important than B

BackgroundBackground

4. Temporal Scaling4. Temporal Scaling Application rate adjust to available bitrateApplication rate adjust to available bitrate Low priority frames are discarded before Low priority frames are discarded before

txtx Strategies for temporal scaling:Strategies for temporal scaling: B frames are discarded evenly before B frames are discarded evenly before

discarding I or P framediscarding I or P frame P frames are discarded from the back P frames are discarded from the back

(last) to the front of the GOP pattern(last) to the front of the GOP pattern I frames are never discardedI frames are never discarded

BackgroundBackground

BackgroundBackground

4. Temporal Scaling4. Temporal Scaling

OVERVIEWOVERVIEW

IntroductionIntroduction BackgroundBackground Analytical ModelAnalytical Model

Analytical ModelAnalytical Model

Determine playable frame rate of TCP- Determine playable frame rate of TCP- friendly video flows with adjusted FEC friendly video flows with adjusted FEC and temporal scaling in the presence of and temporal scaling in the presence of network packet lossnetwork packet loss

Also provide Also provide probability of successful probability of successful transmission and playout for each transmission and playout for each MPEG frame typeMPEG frame type

Derive formulas for transmission rate Derive formulas for transmission rate and playable frame rateand playable frame rate

Analytical ModelAnalytical Model

1. 1. Software Layers and Parameters Software Layers and Parameters

RF : maximum playable frame rateRF : maximum playable frame rate SI , SP , SB: number of packets for SI , SP , SB: number of packets for

each I, P, or B frameeach I, P, or B frame NP , NB: number of P or B frames in NP , NB: number of P or B frames in

one GOPone GOP

Analytical ModelAnalytical Model

NPD, NBD: number of P or B frames NPD, NBD: number of P or B frames sent per GOP after temporal scalingsent per GOP after temporal scaling

SIF, SPF, SBF: number of FEC packets SIF, SPF, SBF: number of FEC packets added to each I, P, or B frameadded to each I, P, or B frame

s: packet size (in bytes)s: packet size (in bytes) p: packet loss probabilityp: packet loss probability tRTT: round-trip time (in milliseconds)tRTT: round-trip time (in milliseconds)

2. 2. Successful Frame Transmission Successful Frame Transmission Probabilities Probabilities

Successful transmission of each frame Successful transmission of each frame type:type:

qI = q(SI + SIF, SI , p)qI = q(SI + SIF, SI , p) qP = q(SP + SPF, SP , p)qP = q(SP + SPF, SP , p) qB = q(SB + SBF, SB, p)qB = q(SB + SBF, SB, p)

Analytical ModelAnalytical Model

3. Playable Frame Rate3. Playable Frame Rate GOP rate should be constant for real time GOP rate should be constant for real time

playout and is given byplayout and is given by

Rf: the target full-motion frame rateRf: the target full-motion frame rate Temporal scaling maintains constant GOP Temporal scaling maintains constant GOP

raterate Playable Rate of I Frames RI is given byPlayable Rate of I Frames RI is given by

RI = G · qI · DIRI = G · qI · DI

Analytical ModelAnalytical Model

3. Playable Frame Rate3. Playable Frame Rate Playable Rate of P Frames with Playable Rate of P Frames with

temporal scaling is given by: is given bytemporal scaling is given by: is given by

Analytical ModelAnalytical Model

3. Playable Frame Rate3. Playable Frame Rate Playable Rate of B Frames with Playable Rate of B Frames with

temporal scaling is given by:temporal scaling is given by:

Analytical ModelAnalytical Model

3. Playable Frame Rate3. Playable Frame Rate Total Playable Frame Rate is the sum Total Playable Frame Rate is the sum

of playable frame rates for each frame of playable frame rates for each frame type type

R = RI + RP + RBR = RI + RP + RB If no frame is discarded due to scaling If no frame is discarded due to scaling

then Rthen R

Analytical ModelAnalytical Model

Analytical ModelAnalytical Model

3. Playable Frame Rate3. Playable Frame Rate

Optimal Playable Frame Rate:Optimal Playable Frame Rate: Varies with temporal scaling and Varies with temporal scaling and

amount of FEC usedamount of FEC used Optimum playable frame rate R Optimum playable frame rate R under under

TCP-friendly rate constraint can be TCP-friendly rate constraint can be derived fromderived from

Analytical ModelAnalytical Model

OVERVIEWOVERVIEW

IntroductionIntroduction BackgroundBackground Analytical ModelAnalytical Model Analytic ExperimentsAnalytic Experiments

Analytic ExperimentsAnalytic Experiments

Analyze performanceAnalyze performance temporally-scaled temporally-scaled MPEG video without FEC, with fixed FEC, MPEG video without FEC, with fixed FEC, and with adjusted FECand with adjusted FEC with TCP friendly with TCP friendly constrained bit ratesconstrained bit rates

Use 4 distinct repair schemes & Use 4 distinct repair schemes & MPEG MPEG video + FEC are temporally scaled to video + FEC are temporally scaled to meet TCP-friendly constraints.meet TCP-friendly constraints.

Fixed FEC (1/0/0)Fixed FEC (1/0/0) Fixed FEC (4/2/1)Fixed FEC (4/2/1) Adjusted FECAdjusted FEC Non-FECNon-FEC

Analytic ExperimentsAnalytic Experiments

System Parameter SettingsSystem Parameter Settings

Playable framePlayable framerates of the 4 rates of the 4 schemesschemes

Analytic ExperimentsAnalytic Experiments

Analytic ExperimentsAnalytic Experiments

Adjusting FECAdjusting FEC

Analytic ExperimentsAnalytic Experiments

Temporal Scaling PatternTemporal Scaling Pattern

OVERVIEWOVERVIEW

IntroductionIntroduction BackgroundBackground Analytical ModelAnalytical Model Analytic ExperimentsAnalytic Experiments Simulation ExperimentsSimulation Experiments

Simulation ExperimentsSimulation Experiments

Compare analytic results with Compare analytic results with simulation resultssimulation results

Analytic experiments assumed a few Analytic experiments assumed a few parametersparameters

Simulation is carried out for:Simulation is carried out for: Inaccurate Loss PredictionInaccurate Loss Prediction Bursty LossBursty Loss Variable Round-Trip TimesVariable Round-Trip Times Variable MPEG Frame SizeVariable MPEG Frame Size

Inaccurate Loss PredictionInaccurate Loss Prediction

Simulation ExperimentsSimulation Experiments

Bursty Bursty LossLoss

Simulation ExperimentsSimulation Experiments

Variable Variable Round- Round-Trip Trip TimesTimes

Simulation ExperimentsSimulation Experiments

Variable MPEG Variable MPEG Frame SizesFrame Sizes

Simulation ExperimentsSimulation Experiments

Practical ConsiderationsPractical Considerations 3 practical issues are needed to be 3 practical issues are needed to be

addressedaddressed Dynamically change a GOP based on Dynamically change a GOP based on

network conditionsnetwork conditions Arbitrarily long GOPs that would make Arbitrarily long GOPs that would make

exhaustive search prohibitiveexhaustive search prohibitive Case when network and MPEG Case when network and MPEG

parameters are not known ahead of timeparameters are not known ahead of time

Simulation ExperimentsSimulation Experiments

OVERVIEWOVERVIEW

IntroductionIntroduction BackgroundBackground Analytical ModelAnalytical Model Analytic ExperimentsAnalytic Experiments Simulation ExperimentsSimulation Experiments ConclusionConclusion

ConclusionConclusion

Propose analytic model to achieve better Propose analytic model to achieve better frame rate based on several parametersframe rate based on several parameters

Determine optimal FEC and temporal Determine optimal FEC and temporal scalingscaling under different network conditions under different network conditions

Compare analytic model with simulation Compare analytic model with simulation resultsresults

Experimental results show that the model Experimental results show that the model could be used in practice to improve could be used in practice to improve frame rate while maintaining TCP friendly frame rate while maintaining TCP friendly BWBW

THANK YOUTHANK YOU