RTP Payload Format for Flexible Forward Error Correction (FEC)
RFC 8627

Document Type RFC - Proposed Standard (July 2019; No errata)
Last updated 2019-07-18
Stream IETF
Formats plain text pdf html bibtex
Reviews
Stream WG state Submitted to IESG for Publication
Document shepherd Roni Even
Shepherd write-up Show (last changed 2018-11-26)
IESG IESG state RFC 8627 (Proposed Standard)
Consensus Boilerplate Yes
Telechat date
Responsible AD Adam Roach
Send notices to "Roni Even" <roni.even@huawei.com>
IANA IANA review state Version Changed - Review Needed
IANA action state RFC-Ed-Ack
Internet Engineering Task Force (IETF)                         M. Zanaty
Request for Comments: 8627                                         Cisco
Category: Standards Track                                       V. Singh
ISSN: 2070-1721                                             callstats.io
                                                                A. Begen
                                                         Networked Media
                                                              G. Mandyam
                                                           Qualcomm Inc.
                                                               July 2019

     RTP Payload Format for Flexible Forward Error Correction (FEC)

Abstract

   This document defines new RTP payload formats for the Forward Error
   Correction (FEC) packets that are generated by the non-interleaved
   and interleaved parity codes from source media encapsulated in RTP.
   These parity codes are systematic codes (Flexible FEC, or "FLEX
   FEC"), where a number of FEC repair packets are generated from a set
   of source packets from one or more source RTP streams.  These FEC
   repair packets are sent in a redundancy RTP stream separate from the
   source RTP stream(s) that carries the source packets.  RTP source
   packets that were lost in transmission can be reconstructed using the
   source and repair packets that were received.  The non-interleaved
   and interleaved parity codes that are defined in this specification
   offer a good protection against random and bursty packet losses,
   respectively, at a cost of complexity.  The RTP payload formats that
   are defined in this document address scalability issues experienced
   with the earlier specifications and offer several improvements.  Due
   to these changes, the new payload formats are not backward compatible
   with earlier specifications; however, endpoints that do not implement
   this specification can still work by simply ignoring the FEC repair
   packets.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://www.rfc-editor.org/info/rfc8627.

Zanaty, et al.               Standards Track                    [Page 1]
RFC 8627            RTP Payload Format for Parity FEC          July 2019

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Parity Codes  . . . . . . . . . . . . . . . . . . . . . .   4
       1.1.1.  One-Dimensional (1-D) Non-interleaved (Row) FEC
               Protection  . . . . . . . . . . . . . . . . . . . . .   5
       1.1.2.  1-D Interleaved (Column) FEC Protection . . . . . . .   6
       1.1.3.  Use Cases for 1-D FEC Protection  . . . . . . . . . .   7
       1.1.4.  Two-Dimensional (2-D) (Row and Column) FEC Protection   8
       1.1.5.  FEC Protection with Flexible Mask . . . . . . . . . .  10
       1.1.6.  FEC Overhead Considerations . . . . . . . . . . . . .  10
       1.1.7.  FEC Protection with Retransmission  . . . . . . . . .  10
       1.1.8.  Repair Window Considerations  . . . . . . . . . . . .  11
   2.  Requirements Notation . . . . . . . . . . . . . . . . . . . .  11
   3.  Definitions and Notations . . . . . . . . . . . . . . . . . .  11
     3.1.  Definitions . . . . . . . . . . . . . . . . . . . . . . .  11
     3.2.  Notations . . . . . . . . . . . . . . . . . . . . . . . .  12
   4.  Packet Formats  . . . . . . . . . . . . . . . . . . . . . . .  12
     4.1.  Source Packets  . . . . . . . . . . . . . . . . . . . . .  12
     4.2.  FEC Repair Packets  . . . . . . . . . . . . . . . . . . .  13
       4.2.1.  RTP Header of FEC Repair Packets  . . . . . . . . . .  13
       4.2.2.  FEC Header of FEC Repair Packets  . . . . . . . . . .  15
   5.  Payload Format Parameters . . . . . . . . . . . . . . . . . .  20
Show full document text