Title: Reminder
1Reminder
- Project Proposal Due Next Mon.
- Submit by Email
2Problems with Internet
- Limited Bandwidth
- Varying Bandwidth
- Delay
- Delay Jitter
- Packet Loss
- Heterogeneity
-
3Error Recovery
4You Are Here
Encoder
Decoder
Middlebox
Sender
Receiver
Network
5Overview
- Characteristics of the Internet
- General techniques
- Error recovery for audio
- Effect of loss on MPEG
- Error recovery for MPEG
6Loss Characteristics of The Internet
7Characteristics of Internet
- 60-70 of paths do not show any loss
- Those with loss have an average of 4.5 6
packet loss - Paxson97 End-to-end Internet packet dynamics
8Packet Loss Pattern
1000
30
9Characteristic of Internet
- Bursts of loss are typically short (2-3
consecutively loss packets) - Long burst do occur
- Burst may occur periodically
10Wireless Link
- Loss rate measured in my office 10 20
- up to 50 reported!
11A Survey of Packet-Loss Recovery Techniques for
Streaming Audio
- Perkins, Hodson and Hardman
- IEEE Network Magazine 1998
12Retransmission
1
2
3
4
3
1
2
4
3
13Redundant Data
1
2
3
4
2
3
4
5
1
2
4
2
3
5
3
14Error Concealment
1
2
3
4
2
4
1
15Pros and Cons
- retransmission
- redundant data
- error concealment
16Retransmission
17Retransmission is Bad
- Need scalable feedback
- NACK consumes bandwidth
- May need to retransmit frequently
- Retransmission maybe useless
18Retransmission is Good
- Only retransmit when needed
19Scalable Retransmission
- On packet loss
- T random(0, RTT)
- wait for T
- multicast NACK
- On receiving NACK from others
- suppress own NACK
20Retransmit when
- group size is small
- loss rate is low
- large latency acceptable
21Redundant Data
22Parity FEC
1011001
XOR
1000010
0010010
0001001
23Parity FEC
1011001
1000010
0001001
0010010
24Parity FEC Ordering
25Parity FEC Ordering
26Parity FEC Ordering
27Parity FEC Ordering
28Parity FEC Ordering
29Reed-Solomon Code
RS
30Reed-Solomon Code
31Media Specific FEC
1
2
3
4
2
3
4
5
1
2
4
2
3
5
3
32Interleaving
33Error Concealment
34Effect of Loss on Audio
- Speech
- Human ears can interpolate
- Loss up to length of phoneme can still be
tolerable
35Insertion-based Repair
- Splice
- Silence Substitution
- Noise Substitution
- Repetition
36Other Repair Methods
- Interpolation
- Regeneration
37Colins Recommendations
38Non-Interactive Apps
- Interleaving
- FEC
- Retransmission for unicast only
39Interactive Applications
40Error Concealment
41Packet Loss Effects on MPEG Video Sent over the
Public Internet
- Jill Boyce and Robert Gaglianello
- ACM Multimedia 1998
42Measurement-based Study
- Need to understand the problem before proposing
solution
43(No Transcript)
44Data Gathering Method
- From NYC13 , Austin21, London18
- To Holmdel, NJ
45Data Gathering Method
- Video
- Two 5-mins MPEG
- 30 fps
- 384 kbps and 1 Mbps
- IBBPBBPBBPBBPBB
- QSIF 176x112 and SIF 352x240
- One row per slice
46Average Packet Loss
47Packet Loss vs Time
48How to Fill Packets
- B 1 frame 1 packet
- P 1 slice 1 packet
- I 1 slice 1 packet
49Packet Size Distributions
50Packet Size vs Loss Rate
51Lesson
- 1 slice per packet even if larger than MTU
- If smaller packets means higher loss rate fill
packet until MTU - Else one slice per MTU
- Alt Change size of slice
52Frame Effected by Errors
53Correlation of Packet Loss
54Overview of Error Recovery for Video
55Methods
- Retransmission
- Error Concealment
- FEC
- Limiting Error Propagation
- Reference Frame Selection
56Reference Frame Selection
I P B B P
I
X
57Methods
- Retransmission
- Error Concealment
- FEC
- Limiting Error Propagation
- Reference Frame Selection
- Changing Temporal Pattern
58Error Control Techniques for Interactive Low
Bitrate Video Transmission over The Internet
59Basic Idea
- Better Late Than Never!, or
- Late packet is still useful
60MPEG Frame Pattern
I
B
B
P
B
B
P
I
P
B
B
P
B
B
61H.261 Error Propagation
I
P
P
P
P
P
P
X
X
X
X
X
X
loss
X
X
X
X
retransmission
62H.261 Frame Pattern
I
P
P
P
P
P
P
X
loss
63H.261 Frame Pattern
X
X
X
retransmission
loss
64PTDD
- Periodic Temporal Dependency Distance
- Large PTDD
- Later Deadlines
- Longer Error Propagations
- Less Temporal Dependencies
65QAL
I
P
P
P
Enhancement Layer
I
P
P
P
Base Layer
66QAL
I
P
P
P
X
Enhancement Layer
I
P
P
P
Base Layer FEC
67QAL PTDD
I
P
P
P
Enhancement Layer
I
P
P
P
Base Layer
68Error Propagation
69Recovery from Error Propagation
70Packet Loss Recovery for Streaming Video
- N. Feamster, H. Balakrishnan
- PV02
71Overview
- An analytical model for packet loss
- SR-RTP
- Post Processing
72Mathematical Model
- Lets model packet loss effects and see what it
can tell us
73p prob. packet loss SI mean num. of packets
in I-frames P(I) prob. frame type is I P(F)
prob. frame is useless
74p prob. packet loss SP mean num. of packets
in P-frames Np number of P-frames in
GOP P(P) prob. frame type is P P(F) prob. frame
is useless
75p prob. packet loss SB mean num. of packets
in B-frames NB number of B-frames in
GOP P(B) prob. frame type is B P(F) prob. frame
is useless
76Average Frame Rate
77Is it accurate?
78SR-RTP
- Extensions to RTP for selective reliability
79SR-RTP
0
Length
ADU Sequence Number
ADU Length
ADU Offset
Priority
Layer Number
80Feamster Balakrishnans ADU
81Loss Detection
LEN 50 ADU 0 ADU Size 100 ADU Off 0
LEN 20 ADU 0 ADU Size 100 ADU Off 80
LEN 50 ADU 1 ADU Size 150 ADU Off 40
LEN 50 ADU 3 ADU Size 50 ADU Off 0
82Retransmission Request
- Based on priority
- Example
- I-Frame highest priority
- P-Frame higher priority if closer to prev I
- B-Frame no retransmition
83Error Concealment for Video
- Repeat pixels from previous frame
- Interpolate pixels from neighbouring region
- Interpolate motion vectors from previous frame
84Inferred MV for P Frame
I
P
85Inferred MV for I Frame
P
P
I
86Evaluation
- Peak Signal to Noise Ratio (PSNR)
- 2552 over average square of differences in pixel
values - Calculated in dB (10 log 10)
87Performance of SR-RTP
88Todays Summary
89How to recover packet loss
- Retransmission
- FEC
- Error Concealment
90How to limit the damage of error
- Interleaving
- Key frame selection
- Change reference frame
91Demo
92Relate to CS5248
- Really bursty audio loss
- Error concealment with noise
- Really bursty video loss, or long video
propagation - Need to protect important content (content-based
unequal error protection)