authors: huahui wu, mark claypool, and robert kinicki presented by siddharth singla jangsung lee...
TRANSCRIPT
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
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
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
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
Playable framePlayable framerates of the 4 rates of the 4 schemesschemes
Analytic ExperimentsAnalytic Experiments
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
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