Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Flexible FEC: Encoding in RTP

Varun Singh
November 10, 2014

Flexible FEC: Encoding in RTP

Payload WG, IETF91, Honolulu

Varun Singh

November 10, 2014
Tweet

More Decks by Varun Singh

Other Decks in Technology

Transcript

  1. flexible-FEC
    Ali C Begen
    Varun Singh
    Mo Zanaty
    AVTCore, IETF 91
    draft-singh-payload-rtp-1d2d-parity-scheme-00

    View full-size slide

  2. Motivation
    •  Scalability issues with
    – RFC 5109
    – SMPTE 2022-1
    – RFC 2733

    View full-size slide

  3. Row FEC (1D)
    1 2 3
    7 8 9
    4 5 6
    R1
    R2
    R3
    ! 1 2 3
    7 8 9
    4 5 6
    R1
    R2
    R3
    !
    !

    View full-size slide

  4. Column FEC (1D)
    1 2 3
    7 8 9
    4 5 6
    C1 C2 C3
    1 2 3
    7 8 9
    4 5 6
    C1 C2 C3
    !
    !
    !
    ! !
    !
    !

    View full-size slide

  5. 2-D FEC
    1 2 3
    7 8 9
    4 5 6
    C1 C2 C3
    R1
    R2
    R3
    ! !
    !
    !
    1 2 3
    7 8 9
    4 5 6
    C1 C2 C3
    R1
    R2
    R3
    ! !
    !
    ! !

    View full-size slide

  6. RFC 6363: FEC Framework
    RTP Packets
    FEC
    Code
    FEC Module
    RTP (De)mux
    Transport Layer (UDP)
    IP
    Repair RTP
    Source RTP

    View full-size slide

  7. Format of repair packets
    IP
    Transport
    RTP header
    FEC header
    Repair Symbol
    RTP payload

    View full-size slide

  8. FEC payload
     
               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  
             +-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+  
             |MSK|P|X|    CC      |M|  PT  recovery  |                        SN  base                        |  
             +-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+  
             |                                                    TS  recovery                                                    |  
             +-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+  
             |                length  recovery                |M  or  Mask[8-­‐15]|  N  or  Mask[0-­‐7]|  
             +-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+  
             |                                        Mask  [16-­‐47]  (optional)                                        |  
             +-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+  
             |                                                                                                                              |  
             +                                        Mask  [48-­‐111]  (optional)                                      +  
             |                                                                                                                              |  
             +-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+-­‐+  
     

    View full-size slide

  9. MSK values (1/2)
    •  00 à 16-bit mask
    •  01 à 48-bit mask
    •  10 à 112-bit mask
    •  11 à variable length mask, see M and N
    values

    View full-size slide

  10. MSK values (2/2)
    •  M=0, N=0 à fixed values indicated in SDP
    •  M>0, N=0 à non-interleaved of M packets
    starting from SN_base
    –  FEC  =  SN,  SN+1,  SN+2,…,  SN+(M-­‐1),  SN+M.  
    •  M>0, N>0 à interleaved with M offset starting
    from SN_base in a group of N packets
    –  FEC  =  SN+(Mx0),  SN+(Mx1),…,  SN+(MxN).  

    View full-size slide

  11. Next steps
    •  Discussion in MMUSIC about SDP
    •  Adoption as PAYLOAD WG-item

    View full-size slide