Title: Generic RTP Payload Format guaranteeing QoS of Video communication
1Generic RTP Payload Format guaranteeing QoS of
Video communication
- draft-bsong-fecframe-gfec-00.txt
- Hao Qin
- hqin_at_mail.xidian.edu.cn
2Summary
- Aim
- To reduce the impact of packet loss to a video
receiver. - Solution
- Use FEC technique to recover the lost information
from the correctly received packets. - Bundle maximum number of output data blocks from
an FEC encoder into each RTP packet to maximize
the bandwidth utilization and minimize the
latency.
3Unequal FEC protection
- Different parts in the video stream may have
different importance to the receiver. - reference frames are critical to a decoder to
reconstruct following pictures. - prediction frames are used to reconstruct just
one picture based on the previous reference
frame. - Losses of reference frames may cause far more
serious disasters to the video decoder because
the video decoder may be forced into a very long
time of interruption. - Data with different importance may be unequally
protected with different FEC algorithms.
4Interleaving
- Many consecutive data blocks from an FEC encoder
may be encapsulated into a single RTP packet, so
that loss of an RTP packet means loss of many
data blocks. This brings difficulty to an FEC
decoder for the insufficient information to
reconstruct the source data. - Interleaving should be introduced to solve this
problem.
5Protected by FECInterleaving
6Protected by FEC only
- If the data are protected by FEC only, the format
of encapsulation is different from the format
mentioned above. To mitigate the impact of burst
packet loss to the FEC decoder, exactly one FEC
block is encapsulated in one RTP packet.
7Generic payload format for FEC
0 0 7 8 15 15 16 23 24 31
RTP Header RTP Header RTP Header RTP Header RTP Header RTP Header RTP Header RTP Header RTP Header RTP Header
R C FEC type FEC subtype FEC subtype Interleaving index Interleaving index Interleaving index Block size Block size
One or more encoded data blocks One or more encoded data blocks One or more encoded data blocks One or more encoded data blocks One or more encoded data blocks One or more encoded data blocks One or more encoded data blocks One or more encoded data blocks One or more encoded data blocks One or more encoded data blocks
8R 3bits reserved
C 1bit interleaving indication
FEC type 4bits mapped to a particular FEC algorithm
FEC subtype 6bits mapped to the FEC algorithm parameters
Interleaving index 10bits zero-based index within an interleaving group if the interleaving algorithm is used, otherwise, the field indicates the zero-based block index within an FEC unit. The field is useful for the decoder.
Block size 8bits number of octets in a data block
9Delay consideration and parameter determination
- FEC and interleaving reduce the effect of
pack losses at the cost of increasing the delay.
Large values of N, K or U increase not only the
ability of the receiver to be tolerant of packet
losses, but also the delay. Tradeoff between the
low end-to-end delay and great tolerance for
packet losses should be made in the choice of FEC
and - interleaving parameters.
10Detecting packet losses
- To make the FEC decoder work, the position
and the amounts of the lost packets in their
corresponding FEC unit need to be determined. - If the data are neither protected by the FEC and
nor interleaved, the lost packet cannot be
recovered. - If the data are protected by the FEC only or by
FEC and interleaved, the decoder can detect
packet losses by the sequence number, FEC type,
FEC subtype and index field.
11The process flow of the video stream
12Thanks/Comments