100 likes | 358 Views
RTP Payload Format for Reed-Solomon FEC. IETF 76 – November 2009. draft-galanos-fecframe-rtp-reedsolomon-00. Sarit Galanos, RADVISION sarit@radvision.com. Orly Peck, RADVISION orlyp@radvision.com. Background. Splitting draft-galanos-fecframe-rtp-reedsolomon-mf-00 to 2 drafts
E N D
RTP Payload Format for Reed-Solomon FEC IETF 76 – November 2009 draft-galanos-fecframe-rtp-reedsolomon-00 Sarit Galanos, RADVISION sarit@radvision.com Orly Peck, RADVISION orlyp@radvision.com
Background • Splitting draft-galanos-fecframe-rtp-reedsolomon-mf-00 to 2 drafts • Searched for a method of protecting RTP packets against random, bursty losses which enables: • Backward compatibility • Low recovery latency • Dynamic on/off switching • This draft • Describes FEC scheme based on Reed Solomon code and FEC framework • Specifies RTP payload format for such FEC packets
RTP 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V=2|P|X| CC |M| PT | sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | timestamp | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | synchronization source (SSRC) identifier | +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ | contributing source (CSRC) identifiers | | .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ • Marker bit (M) – not used • Payload Type (PT) – dynamically determined in SDP • Sequence Number • initiated randomly [rfc3550] • One higher than number in the previously transmitted repair packet • Timestamp – corresponds to repair packet transmit time • Synchronization source (SSRC) – randomly assigned [rfc3550]
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-K | i | SN Base | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Num Packets | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ General fields • N-K – the number of FEC packets used to protect this block • i – 0 based packet index in the N-K FEC packets sequence • SN base – the lowest sequence number (taking wraparound into account) of the source packets protected by this repair packet • Num Packets –The number of consecutive source packets protected by this repair packet • Reserved - for future use
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 • symbol-size: a non-negative integer indicating the length of each encoding symbol in bits.
SDP example v=0 o=sarit 1122334455 1122334466 IN IP4 fec.example.com s= Reed Solomon FEC Example t=0 0 a=group:FEC S1 R1 m=video 30000 RTP/AVP 100 c=IN IP4 224.1.1.1/127 a=rtpmap:100 MP2T/90000 a=mid:S1 m=application 30000 RTP/AVP 110 c=IN IP4 224.1.2.1/127 a=rtpmap:110 reed-solomon-fec /90000 a=fmtp:110 max_N:5; repair-window: 200000; symbol-size:8 a=mid:R1
Open issues • Reed-Solomon primitive polynomial – • Defined by protocol (hard definition) • Negotiated in SDP • Combination (unless specified in SDP use default value from standard).