80 likes | 368 Views
RTP Payload Format for Reed-Solomon FEC. IETF 77 – March 2010. draft-galanos-fecframe-rtp-reedsolomon-01. Vincent Roca, INRIA vincent.roca@inria.fr. Orly Peck, RADVISION orlyp@radvision.com. Sarit Galanos, RADVISION sarit@radvision.com. Main Changes from draft 00.
E N D
RTP Payload Format for Reed-Solomon FEC IETF 77 – March 2010 draft-galanos-fecframe-rtp-reedsolomon-01 Vincent Roca, INRIA vincent.roca@inria.fr Orly Peck, RADVISION orlyp@radvision.com Sarit Galanos, RADVISION sarit@radvision.com
Main Changes from draft 00 • Using terminology as defined in RFC 5510 • Removing constraint for protection of consecutive RTP packets • Added implementation considerations section • Added clarifying sentences and examples. • Added a comprehensive security section
FEC header for repair packets 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | n_r | i | SN_base | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | reserved | BML | pkt_span| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . . . bit-mask (optional, variable length) . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ • n_r : the number of FEC repair packets used to protect this source block. • i – the 0-based index in the sequence of n_r FEC repair packets • SN_base– the lowest RTP sequence number (taking wraparound into account) of the source packets protected by this repair packet. This SN_base also identifies the source block. • pkt_span–The number of consecutive source packets protected by this repair packet • Reserved - for future use • BML - Bit Mask Length: indicates the length of the bit-mask in units of 32-bit words. For case of non-consecutive RTP packets protected. • Bit-mask – set at the length indicated by BML. Indicates which RTP packets are protected.
About the bit-mask… • used in situations where RTP packet erasures happen prior to reaching FECFRAME encoder or when non-consecutive packets are protected. • need a way to signal gaps in RTP SN numbering, i.e. packets that are not in the source block • use a variable length bit-mask array • no mask if BML=0
IANA Registration • Register subtype name reed-solomon-fec for audio/video/text/application • Required parameters • Max_N – upper limit for N, which is the total number of source and repair packets in a block • Repair window (us) – time span of the source and repair packets • element-size: a non-negative integer indicating the length of each encoding symbol in bits. Equals to the m parameter in the GF (2^m).
Repair-Window • The sender knows the time that spans between the first RTP packet sent, and the repair packets. Defining the RW size impacts the maximum number of source packets in a FEC block. • Defines the minimum time the receiver should wait. • May be negotiated between sender and receiver.
Implementation considerations • Set FEC code-rate dynamically according to network packet loss. Improves bandwidth utilization. • Reduce protected media bandwidth, in order not to increase total bandwidth consumption and worsen network conditions. • Appropriate design – choosing k, n • Packetization – protecting RTP packets with similar sizes if possible.