Error Resilience in a Generic Error Resilience in a Generic Compressed Video Stream Compressed Video Stream
Transmitted over a Wireless ChannelTransmitted over a Wireless Channel
Muhammad BilalMuhammad Bilal
2005-06-00202005-06-0020
Channel NoiseChannel Noise
Markov Process ModelMarkov Process Model AWGN ModelAWGN Model Transfer Function ModelTransfer Function Model
Hata Model, Akumura ModelHata Model, Akumura Model
Error Correction MethodsError Correction Methods
RedundancyRedundancy Header informationHeader information Motion VectorsMotion Vectors DC coefficientDC coefficient
Source Coding Source Coding Reed SolomonReed Solomon Hamming CodeHamming Code
Channel EqualizationChannel Equalization Channel codingChannel coding Channel responseChannel response
Error LocalizationError Localization
Reversible Variable Length CodesReversible Variable Length Codes Fixed Synchronization MarkersFixed Synchronization Markers
Error Resilience Methods Error Resilience Methods
Data PartitioningData Partitioning SNR scalabilitySNR scalability PredictionPrediction
– Intra coded frameIntra coded frame Copy previous blockCopy previous block DC coefficient predictionDC coefficient prediction
– Inter coded frameInter coded frame Motion Vector Data based predictionMotion Vector Data based prediction
FrameworkFramework
A generic video compressorA generic video compressor– MATLAB implementationMATLAB implementation– ‘‘MPEG-2 like’ bit streamMPEG-2 like’ bit stream– Platform for video coding analysisPlatform for video coding analysis
Compression efficiencyCompression efficiency Motion Estimation (offset distortion)Motion Estimation (offset distortion) Data PartitioningData Partitioning EtcEtc
– Demonstration of good quality & highly Demonstration of good quality & highly quantized videosquantized videos
Error Introduction MethodsError Introduction Methods
Arbitrary bursts of error in bit streamArbitrary bursts of error in bit stream– Header lossHeader loss– RVLC synchronization problemRVLC synchronization problem– Need to deal with resynchronizationNeed to deal with resynchronization
Error Introduction Methods Error Introduction Methods (contd.)(contd.)
Intelligent error introduction Intelligent error introduction (Macroblock (Macroblock level)level)
– Assume bit stream remains synchronizedAssume bit stream remains synchronized– Error in coefficients/motion vector dataError in coefficients/motion vector data– SNR degradationSNR degradation– DemonstrationDemonstration
Error propagation due to motion compensationError propagation due to motion compensation Need for ‘I’ frame GDR (Gradual Data Refresh)Need for ‘I’ frame GDR (Gradual Data Refresh)
Quality MeasuresQuality Measures
Subjective evaluationSubjective evaluation SNRSNR
– Deceiving results for some sequencesDeceiving results for some sequences
AnalysisAnalysis
Effect of various error concealment Effect of various error concealment methodsmethods
– I FramesI Frames DC Coefficients savedDC Coefficients saved
– ‘‘D’ frameD’ frame
DC Coefficients not savedDC Coefficients not saved– Copy previous frame blockCopy previous frame block
Error propagation due to motion Error propagation due to motion compensationcompensation
Analysis Analysis (contd.)(contd.)
‘‘P’ FramesP’ Frames– Dependent on ‘I’ frame (error Dependent on ‘I’ frame (error
propagation)propagation)– Dependent on contentDependent on content
High motion content (Foreman)High motion content (Foreman) Head & Shoulder (News)Head & Shoulder (News) Camera panning (Coastguard)Camera panning (Coastguard)
– Motion Vector Data + DCTMotion Vector Data + DCT DCT data useless without MVDCT data useless without MV MV data useful without DCT dataMV data useful without DCT data demonstrationdemonstration
Analysis Analysis (contd.)(contd.)
‘‘P’ FramesP’ Frames– Absence of DCT dataAbsence of DCT data
Copy motion compensated blockCopy motion compensated block Previous frame non MC block degrades video Previous frame non MC block degrades video
for high motion contentfor high motion content
Analysis Analysis (contd.)(contd.)
‘‘P’ FramesP’ Frames– Dependency on ‘I’ framesDependency on ‘I’ frames– Perfect ‘I’ frame decodingPerfect ‘I’ frame decoding
DCT data destroyedDCT data destroyed MV data availableMV data available DemonstrationDemonstration
– Seamless video (news)Seamless video (news)– Acceptable video for many purposes Acceptable video for many purposes (coastguard, (coastguard,
foreman)foreman)
Analysis Analysis (contd.)(contd.)
Critical DataCritical Data– I FrameI Frame
DC coefficientsDC coefficients
– P FrameP Frame I frameI frame MV dataMV data Motion Estimation algorithmMotion Estimation algorithm
– Attempt to find the ‘actual’ motion vectorAttempt to find the ‘actual’ motion vector
SNR vs BERSNR vs BER
News
05
10152025303540
0.000351 0.001 0.001754
Bit error Rate
SN
R
Only DC coefficientsaved
Whole I framereconstructed
SNR vs BERSNR vs BER
Foreman
0
5
10
15
20
25
30
35
0.000351 0.001 0.001754
Bit error Rate
SN
R
Only DC coefficientsaved
Whole I framereconstructed
SNR vs BERSNR vs BER
Coastguard (76th frame)
0
5
10
15
20
25
30
0.000351 0.001 0.001754
Bit error Rate
SN
R
Only DC coefficientsaved
Whole I framereconstructed
SNR vs BERSNR vs BER
Comparison
05
10152025303540
0.000351 0.001 0.001754
Bit error Rate
SN
R
News
Foreman
Coastguard
ConclusionConclusion
Error ResilienceError Resilience– Error localizationError localization
ParityParity Hamming CodesHamming Codes
– RedundancyRedundancy DC coefficients + MV dataDC coefficients + MV data I frame perfect decoding (BW demanding)I frame perfect decoding (BW demanding)
– Compensate with more number of P frames in Compensate with more number of P frames in GOPGOP
Conclusion Conclusion (contd.)(contd.)
Data PartitioningData Partitioning– Critical data positioned close to Critical data positioned close to
resynchronization markerresynchronization marker DC coefficients in ‘I’ framesDC coefficients in ‘I’ frames MV data in ‘P’ framesMV data in ‘P’ frames
Conclusion Conclusion (contd.)(contd.)
Further compression!Further compression!– Randomly introduce ‘not coded’ blocksRandomly introduce ‘not coded’ blocks
Depend on decoder error concealment Depend on decoder error concealment schemescheme
Infrequent ‘not coded’ blocks will result in Infrequent ‘not coded’ blocks will result in seamless video decodingseamless video decoding
Top Related