Presentation on theme: "RTP Payload Format for Reed-Solomon FEC draft-galanos-fecframe-rtp-reedsolomon-00 Sarit Galanos, RADVISION IETF 76 – November 2009."— Presentation transcript:
RTP Payload Format for Reed-Solomon FEC draft-galanos-fecframe-rtp-reedsolomon-00 Sarit Galanos, RADVISION IETF 76 – November 2009 Orly Peck, RADVISION
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 |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 | 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 IN IP4 fec.example.com s= Reed Solomon FEC Example t=0 0 a=group:FEC S1 R1 m=video RTP/AVP 100 c=IN IP /127 a=rtpmap:100 MP2T/90000 a=mid:S1 m=application RTP/AVP 110 c=IN IP /127 a=rtpmap:110 reed-solomon-fec /90000 a=fmtp:110 max_N:5; repair-window: ; 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).