draft-ietf-fecframe-interleaved-fec-scheme-02.txt   draft-ietf-fecframe-interleaved-fec-scheme-03.txt 
FEC Framework A. Begen FEC Framework A. Begen
Internet-Draft Cisco Systems Internet-Draft Cisco Systems
Intended status: Standards Track March 7, 2009 Intended status: Standards Track April 18, 2009
Expires: September 8, 2009 Expires: October 20, 2009
RTP Payload Format for 1-D Interleaved Parity FEC RTP Payload Format for 1-D Interleaved Parity FEC
draft-ietf-fecframe-interleaved-fec-scheme-02 draft-ietf-fecframe-interleaved-fec-scheme-03
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 32 skipping to change at page 1, line 32
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 8, 2009. This Internet-Draft will expire on October 20, 2009.
Copyright Notice Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of Provisions Relating to IETF Documents in effect on the date of
publication of this document (http://trustee.ietf.org/license-info). publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
skipping to change at page 2, line 9 skipping to change at page 2, line 9
Abstract Abstract
This document defines a new RTP payload format for the Forward Error This document defines a new RTP payload format for the Forward Error
Correction (FEC) that is generated by the 1-D interleaved parity code Correction (FEC) that is generated by the 1-D interleaved parity code
from a source media encapsulated in RTP. The 1-D interleaved parity from a source media encapsulated in RTP. The 1-D interleaved parity
code is a systematic code, where a number of repair symbols are code is a systematic code, where a number of repair symbols are
generated from a set of source symbols and sent in a repair flow generated from a set of source symbols and sent in a repair flow
separate from the source flow that carries the source symbols. The separate from the source flow that carries the source symbols. The
1-D interleaved parity code offers a good protection against bursty 1-D interleaved parity code offers a good protection against bursty
packet losses at a cost of decent complexity. The new payload format packet losses at a cost of decent complexity. The new payload format
defined in this document is used as a part of the DVB Application- defined in this document is used (with some exceptions) as a part of
layer FEC Specification. the DVB Application-layer FEC specification.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . 6 1.1. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2. Overhead Computation . . . . . . . . . . . . . . . . . . . 8 1.2. Overhead Computation . . . . . . . . . . . . . . . . . . . 8
1.3. Relation to Existing Specifications . . . . . . . . . . . 8 1.3. Relation to Existing Specifications . . . . . . . . . . . 8
1.3.1. RFC 2733 and RFC 3009 . . . . . . . . . . . . . . . . 8 1.3.1. RFC 2733 and RFC 3009 . . . . . . . . . . . . . . . . 8
1.3.2. SMPTE 2022-1 . . . . . . . . . . . . . . . . . . . . . 8 1.3.2. SMPTE 2022-1 . . . . . . . . . . . . . . . . . . . . . 8
1.3.3. ETSI TS 102 034 . . . . . . . . . . . . . . . . . . . 9 1.3.3. ETSI TS 102 034 . . . . . . . . . . . . . . . . . . . 9
2. Requirements Notation . . . . . . . . . . . . . . . . . . . . 9 2. Requirements Notation . . . . . . . . . . . . . . . . . . . . 10
3. Definitions, Notations and Abbreviations . . . . . . . . . . . 10 3. Definitions, Notations and Abbreviations . . . . . . . . . . . 10
3.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . 10 3.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . 10
3.2. Notations . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2. Notations . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 10 3.3. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 11
4. Packet Formats . . . . . . . . . . . . . . . . . . . . . . . . 10 4. Packet Formats . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1. Source Packets . . . . . . . . . . . . . . . . . . . . . . 11 4.1. Source Packets . . . . . . . . . . . . . . . . . . . . . . 11
4.2. Repair Packets . . . . . . . . . . . . . . . . . . . . . . 11 4.2. Repair Packets . . . . . . . . . . . . . . . . . . . . . . 11
5. Payload Format Parameters . . . . . . . . . . . . . . . . . . 14 5. Payload Format Parameters . . . . . . . . . . . . . . . . . . 15
5.1. Media Type Registration . . . . . . . . . . . . . . . . . 14 5.1. Media Type Registration . . . . . . . . . . . . . . . . . 15
5.1.1. Registration of audio/1d-interleaved-parityfec . . . . 14 5.1.1. Registration of audio/1d-interleaved-parityfec . . . . 15
5.1.2. Registration of video/1d-interleaved-parityfec . . . . 16 5.1.2. Registration of video/1d-interleaved-parityfec . . . . 16
5.1.3. Registration of text/1d-interleaved-parityfec . . . . 17 5.1.3. Registration of text/1d-interleaved-parityfec . . . . 18
5.1.4. Registration of 5.1.4. Registration of
application/1d-interleaved-parityfec . . . . . . . . . 18 application/1d-interleaved-parityfec . . . . . . . . . 19
5.2. Mapping to SDP Parameters . . . . . . . . . . . . . . . . 19 5.2. Mapping to SDP Parameters . . . . . . . . . . . . . . . . 20
5.2.1. Offer-Answer Model Considerations . . . . . . . . . . 20 5.2.1. Offer-Answer Model Considerations . . . . . . . . . . 21
5.2.2. Declarative Considerations . . . . . . . . . . . . . . 21 5.2.2. Declarative Considerations . . . . . . . . . . . . . . 21
6. Protection and Recovery Procedures . . . . . . . . . . . . . . 21 6. Protection and Recovery Procedures . . . . . . . . . . . . . . 22
6.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . 21 6.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.2. Repair Packet Construction . . . . . . . . . . . . . . . . 21 6.2. Repair Packet Construction . . . . . . . . . . . . . . . . 22
6.3. Source Packet Reconstruction . . . . . . . . . . . . . . . 23 6.3. Source Packet Reconstruction . . . . . . . . . . . . . . . 24
6.3.1. Associating the Source and Repair Packets . . . . . . 24 6.3.1. Associating the Source and Repair Packets . . . . . . 24
6.3.2. Recovering the RTP Header and Payload . . . . . . . . 24 6.3.2. Recovering the RTP Header and Payload . . . . . . . . 25
7. Session Description Protocol (SDP) Signaling . . . . . . . . . 26 7. Session Description Protocol (SDP) Signaling . . . . . . . . . 26
8. Congestion Control Considerations . . . . . . . . . . . . . . 26 8. Congestion Control Considerations . . . . . . . . . . . . . . 27
9. Security Considerations . . . . . . . . . . . . . . . . . . . 27 9. Security Considerations . . . . . . . . . . . . . . . . . . . 28
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28
11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 28 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 28
12. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 28 12. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 28
12.1. draft-ietf-fecframe-interleaved-fec-scheme-02 . . . . . . 28 12.1. draft-ietf-fecframe-interleaved-fec-scheme-03 . . . . . . 28
12.2. draft-ietf-fecframe-interleaved-fec-scheme-01 . . . . . . 28 12.2. draft-ietf-fecframe-interleaved-fec-scheme-02 . . . . . . 29
12.3. draft-ietf-fecframe-interleaved-fec-scheme-00 . . . . . . 28 12.3. draft-ietf-fecframe-interleaved-fec-scheme-01 . . . . . . 29
12.4. draft-ietf-fecframe-interleaved-fec-scheme-00 . . . . . . 29
13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29
13.1. Normative References . . . . . . . . . . . . . . . . . . . 29 13.1. Normative References . . . . . . . . . . . . . . . . . . . 29
13.2. Informative References . . . . . . . . . . . . . . . . . . 29 13.2. Informative References . . . . . . . . . . . . . . . . . . 30
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 30 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 31
1. Introduction 1. Introduction
This document extends the Forward Error Correction (FEC) header This document extends the Forward Error Correction (FEC) header
defined in [RFC2733] and uses this new FEC header for the FEC that is defined in [RFC2733] and uses this new FEC header for the FEC that is
generated by the 1-D interleaved parity code from a source media generated by the 1-D interleaved parity code from a source media
encapsulated in RTP [RFC3550]. The resulting new RTP payload format encapsulated in RTP [RFC3550]. The resulting new RTP payload format
is registered by this document. is registered by this document.
The type of the source media protected by the 1-D interleaved parity The type of the source media protected by the 1-D interleaved parity
skipping to change at page 9, line 17 skipping to change at page 9, line 17
On the other hand, some parts of [SMPTE2022-1] are not in compliant On the other hand, some parts of [SMPTE2022-1] are not in compliant
with RTP [RFC3550]. For example, [SMPTE2022-1] sets the SSRC field with RTP [RFC3550]. For example, [SMPTE2022-1] sets the SSRC field
to zero and does not use the timestamp field in the RTP headers of to zero and does not use the timestamp field in the RTP headers of
the repair packets (Receivers ignore the timestamps of the repair the repair packets (Receivers ignore the timestamps of the repair
packets). Furthermore, [SMPTE2022-1] also sets the CC field in the packets). Furthermore, [SMPTE2022-1] also sets the CC field in the
RTP header to zero and does not allow any Contributing Source (CSRC) RTP header to zero and does not allow any Contributing Source (CSRC)
entry in the RTP header. entry in the RTP header.
The current document adopts the extended FEC header of [SMPTE2022-1] The current document adopts the extended FEC header of [SMPTE2022-1]
and registers a new RTP payload format. At the same time, this and registers a new RTP payload format. At the same time, this
document fixes the parts of [SMPTE2022-1] that are not in compliant document fixes the parts of [SMPTE2022-1] that are not compliant with
with RTP [RFC3550]. RTP [RFC3550], except the one discussed below.
The baseline header format first proposed in [RFC2733] does not have
fields to protect the P and X bits and the CC fields of the source
packets associated with a repair packet. Rather, the P bit, X bit
and CC field in the RTP header of the repair packet are used to
protect those bits and fields. This, however, may sometimes result
in failures when doing the RTP header validity checks as specified in
[RFC3550]. While this behavior has been fixed in [RFC5109] that
obsoleted [RFC2733], the RTP payload format defined in this document
still allows for this behavior for legacy purposes. Implementations
following this specification MUST be aware of this potential issue
when RTP header validity checks are applied.
1.3.3. ETSI TS 102 034 1.3.3. ETSI TS 102 034
In 2007, the Digital Video Broadcasting (DVB) consortium published a In 2007, the Digital Video Broadcasting (DVB) consortium published a
technical specification [ETSI-TS-102-034] through European technical specification [ETSI-TS-102-034] through European
Telecommunications Standards Institute (ETSI). This specification Telecommunications Standards Institute (ETSI). This specification
covers several areas related to the transmission of MPEG-2 transport covers several areas related to the transmission of MPEG-2 transport
stream-based services over IP networks. stream-based services over IP networks.
The Annex E of [ETSI-TS-102-034] defines an optional protocol for The Annex E of [ETSI-TS-102-034] defines an optional protocol for
skipping to change at page 28, line 16 skipping to change at page 28, line 45
11. Acknowledgments 11. Acknowledgments
A major part of this document is borrowed from [RFC2733] and A major part of this document is borrowed from [RFC2733] and
[SMPTE2022-1]. Thus, the author would like to thank the authors and [SMPTE2022-1]. Thus, the author would like to thank the authors and
editors of these earlier specifications. The author also thanks editors of these earlier specifications. The author also thanks
Colin Perkins for his constructive suggestions for this document. Colin Perkins for his constructive suggestions for this document.
12. Change Log 12. Change Log
12.1. draft-ietf-fecframe-interleaved-fec-scheme-02 12.1. draft-ietf-fecframe-interleaved-fec-scheme-03
The following are the major changes compared to version 02:
o Comments from WGLC have been addressed.
12.2. draft-ietf-fecframe-interleaved-fec-scheme-02
The following are the major changes compared to version 01: The following are the major changes compared to version 01:
o Some details were added regarding the use of CNAME field. o Some details were added regarding the use of CNAME field.
o Offer-Answer and Declarative Considerations sections have been o Offer-Answer and Declarative Considerations sections have been
completed. completed.
o Security Considerations section has been completed. o Security Considerations section has been completed.
12.2. draft-ietf-fecframe-interleaved-fec-scheme-01 12.3. draft-ietf-fecframe-interleaved-fec-scheme-01
The following are the major changes compared to version 00: The following are the major changes compared to version 00:
o The timestamp field definition has changed. o The timestamp field definition has changed.
12.3. draft-ietf-fecframe-interleaved-fec-scheme-00 12.4. draft-ietf-fecframe-interleaved-fec-scheme-00
This is the initial version, which is based on an earlier individual This is the initial version, which is based on an earlier individual
submission. The following are the major changes compared to that submission. The following are the major changes compared to that
document: document:
o Per the discussion in the WG, references to the FEC Framework have o Per the discussion in the WG, references to the FEC Framework have
been removed and the document has been turned into a pure RTP been removed and the document has been turned into a pure RTP
payload format specification. payload format specification.
o A new section is added for congestion control considerations. o A new section is added for congestion control considerations.
skipping to change at page 29, line 44 skipping to change at page 30, line 32
Hybrid FEC Protection", draft-ietf-fecframe-dvb-al-fec-01 Hybrid FEC Protection", draft-ietf-fecframe-dvb-al-fec-01
(work in progress), January 2009. (work in progress), January 2009.
[RFC2733] Rosenberg, J. and H. Schulzrinne, "An RTP Payload Format [RFC2733] Rosenberg, J. and H. Schulzrinne, "An RTP Payload Format
for Generic Forward Error Correction", RFC 2733, for Generic Forward Error Correction", RFC 2733,
December 1999. December 1999.
[RFC3009] Rosenberg, J. and H. Schulzrinne, "Registration of [RFC3009] Rosenberg, J. and H. Schulzrinne, "Registration of
parityfec MIME types", RFC 3009, November 2000. parityfec MIME types", RFC 3009, November 2000.
[RFC5109] Li, A., "RTP Payload Format for Generic Forward Error
Correction", RFC 5109, December 2007.
[ETSI-TS-102-034] [ETSI-TS-102-034]
DVB Document A086 Rev. 4 (ETSI TS 102 034 V1.3.1), ETSI TS 102 034 V1.3.1, "Transport of MPEG 2 TS Based DVB
"Transport of MPEG 2 Transport Stream (TS) Based DVB Services over IP Based Networks", October 2007.
Services over IP Based Networks", March 2007.
[RFC2326] Schulzrinne, H., Rao, A., and R. Lanphier, "Real Time [RFC2326] Schulzrinne, H., Rao, A., and R. Lanphier, "Real Time
Streaming Protocol (RTSP)", RFC 2326, April 1998. Streaming Protocol (RTSP)", RFC 2326, April 1998.
[RFC2974] Handley, M., Perkins, C., and E. Whelan, "Session [RFC2974] Handley, M., Perkins, C., and E. Whelan, "Session
Announcement Protocol", RFC 2974, October 2000. Announcement Protocol", RFC 2974, October 2000.
[SMPTE2022-1] [SMPTE2022-1]
SMPTE 2022-1-2007, "Forward Error Correction for Real-Time SMPTE 2022-1-2007, "Forward Error Correction for Real-Time
Video/Audio Transport over IP Networks", 2007. Video/Audio Transport over IP Networks", 2007.
 End of changes. 20 change blocks. 
37 lines changed or deleted 58 lines changed or added

This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/