Modeling and Optimization of aModeling and Optimization of aSystematic Lossy Error Protection System Systematic Lossy Error Protection System
Based on H.264/AVC Redundant SlicesBased on H.264/AVC Redundant Slices
Shantanu Rane, Pierpaolo Baccichet and Bernd Girod
Information Systems LaboratoryStanford University
2 S. Rane Modeling and Optimization of SLEP
Error resilience by supplementary parity bit stream
Lossless protection of videobit stream
Trade-off between:– source bit rate– parity bit rate
Severe error cliff
Error resilience by supplementary Wyner-Ziv bit stream
Lossy protection of video waveform
Trade-off between:– source bit rate– Wyner-Ziv bit rate– Loss in Wyner-Ziv decoding
Graceful degradation
FEC (SLEP)Vid
eo Q
ualit
y
Error Prob
Systematic Lossy Error Protection
3 S. Rane Modeling and Optimization of SLEP
Systematic Lossy Error Protection (SLEP)Systematic Lossy Error Protection (SLEP)
VideoEncoder
Video Decoder With Error Concealment
InputVideo
VideoWith Errors
Cha
nnel
Wyner-ZivEncoder
Wyner-ZivDecoder
Side Information
OutputVideo
Analogous to systematic lossy source/channel coding [Shamai, Verdú, Zamir, 1998] Wyner-Ziv coding by applying Reed-Solomon codes across H.264/AVC
redundant slices [Rane, Baccichet, Girod, 19th JVT mtg, Geneva 2006]
4 S. Rane Modeling and Optimization of SLEP
OutlineOutline
SLEP implementation using H.264/AVC redundant slices
Model for end-to-end rate-distortion performanceResilience vs. quality trade-off in SLEP
5 S. Rane Modeling and Optimization of SLEP
SLEP Using Redundant SlicesSLEP Using Redundant Slices
Encode Redundant Pic(Requantize)
Entropy Decoding
WYNER-ZIV ENCODER WYNER-ZIV DECODER
Err
or-p
rone
Cha
nnel
Decode Redundant Slice
Motion Vecs +Coding Modes
ErasureDecoding
Side info
Motion Vecs +Coding Modes
QP
Recovered motion vectorsfor erroneously received
primary slices
EncodePrimary Pic
Q-1 T-1
MC
H.264/AVC DECODER
+Entropy Decoding
OutputVideo
H.264/AVC ENCODERInputVideo
Encode Redundant Pic(Requantize)
RSEncoder
Parity SlicesQP
6 S. Rane Modeling and Optimization of SLEP
RS Encoding Across Redundant SlicesRS Encoding Across Redundant Slices
Redundant Slice
Redundant Slice
Redundant Slice
Redundant Slice
SLEP parity symbols
SLEP parity symbols
… kn
Transmit only SLEP slicesin Wyner-Ziv bit stream
redundant slice byte
filler byte
parity byte
7 S. Rane Modeling and Optimization of SLEP
RS Decoding Across Redundant SlicesRS Decoding Across Redundant Slices
SLEP parity symbols
SLEP parity symbols
Regenerated Redundant Slice
Regenerated Redundant Slice
Recovered Redundant Slice
Regenerated Redundant Slice
k…
n
Decode and display in place of
lost primary slice
Encode Redundant Pic(Requantize)
Entropy Decoding
WYNER-ZIV ENCODER WYNER-ZIV DECODER
Err
or-p
rone
Cha
nnel
Decode Redundant Slice
Motion Vecs +Coding Modes
ErasureDecoding
Side info
Motion Vecs +Coding Modes
QP
Recovered motion vectorsfor erroneously received
primary slices
EncodePrimary Pic
Q-1 T-1
MC
H.264/AVC DECODER
+Entropy Decoding
OutputVideo
H.264/AVC ENCODERInputVideo
Encode Redundant Pic(Requantize)
RSEncoder
Parity SlicesQP
p = Pr{primary slice arrives in error}
?
ppp
pp D
RRD 0
0
rrr
rr D
RRD 0
0
[Stuhlmϋller et al., 2000]
CRR WZp
9 S. Rane Modeling and Optimization of SLEP
Distortion in Received Video PacketDistortion in Received Video Packet
Error propagation from previous frame
After taking expectations of pixel-wise squared errors,
Quantization mismatch from Wyner-Ziv decoding
Error concealment distortion
10
S. Rane Modeling and Optimization of SLEP
Model Vs. Experimental SimulationModel Vs. Experimental Simulation
0.00004 0.0001 0.0004
20
25
30
35
40
Ver
tical
axi
s
PS
NR
[dB
]
FEC
0.00004 0.0001 0.0004
25
30
35
40SLEP50
0.00004 0.0001 0.000426283032343638
SLEP25
0.00004 0.0001 0.0004
32
34
36
38
SLEP10
10%
20%
10%
20%
10%
20%
10%, 20%
Horizontal axis symbol error rateSymbol Error Probability
PS
NR
[dB
]
Foreman.CIF100 frames
Rp = 1 MbpsRWZ =100 kbps, 200 kbps
I-P-P-P…
Previous frame error concealment
Random symbol errors
PSNR avg. over30 traces
Systematic bit rate 408 kbps, WZ bit rate ~ 40 kbpsSymbol error probability = 5 x 10-4
Error-freeError-free35.7 dB35.7 dBQP=28QP=28
Error concealment onlyError concealment only40 kbps FEC40 kbps FECSLEP with redundant QP = 36SLEP with redundant QP = 36SLEP with redundant QP = 40SLEP with redundant QP = 40SLEP with redundant QP = 48SLEP with redundant QP = 4820.9 dB20.9 dB25.5 dB25.5 dB30.9 dB30.9 dB34.2 dB34.2 dB32.9 dB32.9 dB
12
S. Rane Modeling and Optimization of SLEP
Resilience vs. Quality Trade-Off in SLEPResilience vs. Quality Trade-Off in SLEP
For a packet loss probability pe
Bit rate of the “best” redundant description:
Quality loss due to best redundant description:
13
S. Rane Modeling and Optimization of SLEP
ConclusionsConclusions
SLEP achieves graceful trade-off between error resilience and video quality, and mitigates FEC cliff
Quality loss from WZ decoding modeled as function of quantization mismatch and extent of error propagation