RTP Payload Format for ReedSolomon FEC IETF 76

  • Slides: 8
Download presentation
RTP Payload Format for Reed-Solomon FEC IETF 76 – November 2009 draft-galanos-fecframe-rtp-reedsolomon-00 Orly Peck,

RTP Payload Format for Reed-Solomon FEC IETF 76 – November 2009 draft-galanos-fecframe-rtp-reedsolomon-00 Orly Peck, RADVISION orlyp@radvision. com Sarit Galanos, RADVISION sarit@radvision. com

Background • Splitting draft-galanos-fecframe-rtp-reedsolomon-mf-00 to 2 drafts • Searched for a method of protecting

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 4 5 6 7 8

RTP header for repair packets 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 [rfc 3550] – One higher than number in the previously transmitted repair packet • Timestamp – corresponds to repair packet transmit time • Synchronization source (SSRC) – randomly assigned [rfc 3550]

FEC header for repair packets 0 1 2 3 4 5 6 7 8

FEC header for repair packets 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

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 IP 4 fec. example. com s= Reed

SDP example v=0 o=sarit 1122334455 1122334466 IN IP 4 fec. example. com s= Reed Solomon FEC Example t=0 0 a=group: FEC S 1 R 1 m=video 30000 RTP/AVP 100 c=IN IP 4 224. 1. 1. 1/127 a=rtpmap: 100 MP 2 T/90000 a=mid: S 1 m=application 30000 RTP/AVP 110 c=IN IP 4 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: R 1

Open issues • Reed-Solomon primitive polynomial – – Defined by protocol (hard definition) –

Open issues • Reed-Solomon primitive polynomial – – Defined by protocol (hard definition) – Negotiated in SDP – Combination (unless specified in SDP use default value from standard).

 • Comments are welcome!

• Comments are welcome!