Internet DRAFT - draft-xia-avt-splicing-for-mpeg2ts-ps

draft-xia-avt-splicing-for-mpeg2ts-ps






AVT Working Group                                                 J. Xia
Internet-Draft                                                    H. Xia
Intended status: Informational                                  J. Zhang
Expires: October 22, 2010                                         Huawei
                                                          April 20, 2010


        Splicing for MPEG2-TS Problem Statement in RTP Sessions
                draft-xia-avt-splicing-for-mpeg2ts-ps-01

Abstract

   The base MPEG2-TS splicing related protocols, i.e., Digital Program
   Insertion Splicing API [SCTE30] and Digital Program Insertion Cueing
   Message for Cable [SCTE35], only take into account how to insert the
   content (e.g., spot advertisements of various lengths, program
   substitution, public service announcements, etc) into any MPEG2-TS
   output multiplex on the splicer , as well as how to carry
   notification of upcoming splicing and other timing information in the
   transport stream, but not give enough mechanisms to direct the
   underlying transport protocol such as RTP how to compatibly work with
   the MPEG2-TS splicing.  This memo highlights the issues of what's the
   impact on RTP and RTCP when performing splicing between the primary
   channel and the insertion channel.

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on October 22, 2010.

Copyright Notice

   Copyright (c) 2010 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



Xia, et al.             Expires October 22, 2010                [Page 1]

Internet-Draft            seamless splicing ps                April 2010


   Provisions Relating to IETF Documents
   (http://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
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.  Use Cases  . . . . . . . . . . . . . . . . . . . . . . . . . .  6
     3.1.  Overlap between Insertion Channel and Primary Channel  . .  6
     3.2.  Gap between Insertion Channel and Primary Channel  . . . .  7
   4.  Potential Approach Considerations  . . . . . . . . . . . . . .  9
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . .  9
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  9
   7.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 10
   8.  Normative References . . . . . . . . . . . . . . . . . . . . . 10
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10




























Xia, et al.             Expires October 22, 2010                [Page 2]

Internet-Draft            seamless splicing ps                April 2010


1.  Introduction

   MPEG2 Transport Stream (MPEG2-TS) [MPEG2TS] is an encapsulation
   method and transport that multiplexes digital video and audio
   content, together with ancillary metadata, and produces a
   synchronized multiplexed stream that is tailored for transport over
   packet or cell-oriented networks.  MPEG2-TS are composed of 188 byte
   TS Packets, whose payloads may contain program information as well as
   Packetized Elementary Streams (PES), typically video and audio
   streams.  The RTP payload format for carrying TS packets in an RTP
   stream is specified in [RFC2250].

   With the expansive application of the MPEG2-TS, operators will need
   solutions that can efficiently manage and process an increasing
   number of ads.  One specific solution that can process and splice
   hundreds of ads in a single device is Digital Program Insertion (DPI)
   which involve the splicing of a single primary channel stream and ads
   channel streams in most cases into a output channel.  Splicer is the
   key network entity, which seamlessly insert valuable ads into primary
   channel.  With Digital Program Insertion, splicer can replace a
   national advertising slot with a local ad.  The details to describing
   splicing configuration defined in [SCTE30] are shown in Figure 1.


        Primary Channel  +-----------+
             ----------->|           | Output Channel
                         |  Splicer  |---------->
              ---------->|           |
             |           +-----------+
             |                    ^
             | Insertion Channel  '
             |                    '
       +----------+               '
       |          |               '
       |  Server  | <''''''''''''''
       |          |      Signaling Connection
       +----------+

    ---------->  Data

    ''''''''''>  Signaling

      Figure 1:  Single Splicing Configuration


   [SCTE30] creates a standardized method for communication between
   server and splicer for the insertion of content into any MPEG2-TS
   output multiplex on the splicer.  Based on the cue message [SCTE35],



Xia, et al.             Expires October 22, 2010                [Page 3]

Internet-Draft            seamless splicing ps                April 2010


   server and splicer know when to start a splicing as well as the
   duration of splicing, i.e., avail time.

   However SCET only takes into account the splicing process on
   application layer for MPEG2-TS regardless of the underlying transport
   layer, such as RTP.  From this viewpoint, this processing does not
   cause any problem to CATV operators who directly transfer MPEG2-TS
   over cable.  CATV operators continuously output the ads MPEG2-TS
   instead of primary program on splicer and return to the primary
   program after the avail time.  The whole procedure only operates on
   the MPEG2-TS layer without any transport layer operation.

   However IPTV operators who provide IP-based video services have to
   face the issues raised by MPEG2-TS splicing.  In IPTV deployments,
   splicer not only performs MPEG2-TS splicing but also needs to
   coordinate underlying RTP layer to be compatible with MPEG2-TS
   splicing.  By deeply detecting the timing information conveied in
   MPEG2-TS payload specified in [SCTE35], splicer can clearly know how
   to perform MPEG2-TS splicing.  During the certain avail time, the
   number of ads RTP packets, which are inserted into primary program on
   splicer , is variable due to the different entropy coding.
   Therefore, in most case, the number of inserted ads RTP packets are
   hardly equal to the number of overridden primary program RTP packets.
   If the splicing between insertion channel and primary channel can not
   be appropriately handled by splicer at the beginning and end of avail
   time, the RTP sequence number gap or overlap between insertion
   channel RTP packets and primary channel RTP packets maybe result in
   the RTP receiver to request unnecessary retransmission for inexistent
   packet missing or discard the useful packets due to the reduplicate
   sequence number respectively.  The use cases where the problems exist
   are briefly described in Section 3.


2.  Terminology

   The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

   Throughout this document, the terms used have specific meanings.
   Because some of the terms that are defined in SCTE30 and SCTE35 have
   very specific technical meanings, the reader is referred to the
   original source for their definition.  For terms used in this
   document, brief definitions are given below.







Xia, et al.             Expires October 22, 2010                [Page 4]

Internet-Draft            seamless splicing ps                April 2010


   Digital Program Insertion (DPI)

      The digital splicing of MPEG programs into other MPEG programs.
      Digital Program Insertion includes content such as spot ads of
      various lengths, program substitution, public service
      announcements or program material created by splicing portions of
      the program from an ad server.

   Avail

      Time space provided to operators by programming services during a
      program for use by the operator; the time is usually sold to local
      advertisers or used for channel self promotion.

   Channel

      Channel is a synonym for a "Service" in DVB terminology, or a
      "Program" in MPEG terminology.

   Primary Channel

      The Primary Multiplex Channel carrying MPEG2-TS.  It is spliced in
      whole or in part by Insertion Channel.

   Insertion Channel

      The Insertion Multiplex Channel(s) that replace the Primary
      Channel in whole or in part for the duration of a splicing.

   Splicer

      The device that splices the Insertion Channel(s) into the Primary
      Channel.  It may receive cue messages [SCTE35].  This device also
      communicates with the Server about when to start and end the
      splicing [SCTE30].

   Output Channel

      The Channel that is produced at the output of the splicer

   Server

      The device that originates the Insertion Channel(s) to be spliced
      into the Primary Channel.  This device communicates with the
      splicer about when and what to splice.






Xia, et al.             Expires October 22, 2010                [Page 5]

Internet-Draft            seamless splicing ps                April 2010


3.  Use Cases

   In this section, two use cases are listed to illustrate the issues
   resulting from this imperfect splicing on RTP layer.

3.1.  Overlap between Insertion Channel and Primary Channel

   Figure 2 gives the overlap issue between insertion channel RTP
   packets and primary channel RTP packets at the end of avail time.


                       '                           '
      Primary Channel  '<-------Avail Time-------->'
                       '                           '
     +-----+   +-----+ '     +-----+  +-----+      ' +-----+   +-----+
     | SN1 |...| SN15| '     | SN16|  | SN17|      ' | SN18|...| SN25|
     +-----+   +-----+ '     +-----+  +-----+      ' +-----+   +-----+
        |         |    '                           '    |         |
        |         |    '                           '    |         |
        |         |    '     Insertion Channel     '    |         |
        |         |    '                           '    |         |
        |         |    ' +-----+  +-----+  +-----+ '    |         |
        |         |    ' | SN1 |  | SN2 |  | SN3 | '    |         |
        |         |    ' +-----+  +-----+  +-----+ '    |         |
        |         |    '    |        |        |    '    |         |
        |         |    '    |        |        |    '    |         |
        |         |    '    |        |        |    '    |         |
        v         v    '    v        v        v    '    v         v
     +-----+   +-----+ ' +-----+  +-----+  +-----+ ' +-----+   +-----+
     | SN1 |...| SN15| ' | SN16|  | SN17|  | SN18| ' | SN18|...| SN25|
     +-----+   +-----+ ' +-----+  +-----+  +-----+ ' +-----+   +-----+
                       '                           '
      Output Channel   '                           '


             Figure 2: Overlap at the end of insertion


   1.  Before the splicing, the stream of output channel on splicer is
       from primary channel.

   2.  At the beginning of avail time, the splicer switches this
       insertion channel stream to the output channel.  In order to
       achieve seamless switch-over, splicer needs to coordinate the
       insertion channel RTP packets with pervious primary channel RTP
       packets prior to delivering them to output channel.  For example,
       in Figure 2, the sequence number of last primary channel RTP
       packet is SN15.  In order to avoid confusion on RTP receiver, the



Xia, et al.             Expires October 22, 2010                [Page 6]

Internet-Draft            seamless splicing ps                April 2010


       new sequence number of next insertion channel RTP packet should
       be changed to SN16 from SN1 on splicer , and the rest insertion
       channel RTP packets also comply with the increments.

   3.  At the end of avail time, the splicer returns to the primary
       channel for direction to the output channel.  If the number of
       insertion channel RTP packets delivered through output channel
       are more than the number of overridden primary channel RTP
       packets during certain avail time, splicer also needs to
       coordinate the subsequent primary channel RTP packets with
       pervious insertion channel RTP packets prior to delivering them
       to output channel.  Otherwise, the sequence number overlap of
       insertion channel RTP packets and primary channel RTP packets may
       induce RTP receiver to discard the subsequently valid primary
       channel RTP packets due to the duplicate sequence number(s).  For
       example, in Figure 2, two primary channel RTP packets are
       overridden by three insertion channel RTP packets during certain
       avail time, the next primary channel RTP packet, whose sequence
       number is SN18, may be wrongly discarded by RTP receiver as a
       redundant RTP packet.


3.2.  Gap between Insertion Channel and Primary Channel

   Figure 3 gives the gap issue between insertion channel RTP packets
   and primary channel RTP packets at the end of avail time.

























Xia, et al.             Expires October 22, 2010                [Page 7]

Internet-Draft            seamless splicing ps                April 2010


                      '                           '
     Primary Channel  '<-------Avail Time-------->'
                      '                           '
    +-----+   +-----+ ' +-----+  +-----+  +-----+ ' +-----+   +-----+
    | SN1 |...| SN15| ' | SN16|  | SN17|  | SN18| ' | SN19|...| SN25|
    +-----+   +-----+ ' +-----+  +-----+  +-----+ ' +-----+   +-----+
       |         |    '                           '    |         |
       |         |    '                           '    |         |
       |         |    '     Insertion Channel     '    |         |
       |         |    '                           '    |         |
       |         |    '     +-----+  +-----+      '    |         |
       |         |    '     | SN1 |  | SN2 |      '    |         |
       |         |    '     +-----+  +-----+      '    |         |
       |         |    '        |        |         '    |         |
       |         |    '        |        |         '    |         |
       |         |    '        |        |         '    |         |
       v         v    '        v        v         '    v         v
    +-----+   +-----+ '     +-----+  +-----+      ' +-----+   +-----+
    | SN1 |...| SN15| '     | SN16|  | SN17|      ' | SN19|...| SN25|
    +-----+   +-----+ '     +-----+  +-----+      ' +-----+   +-----+
                      '                           '
     Output Channel   '                           '


             Figure 3: Gap at the end of insertion


   1.  First two steps are same as overlap issue specified in
       Section 3.1

   2.  At the end of avail time, the splicer returns to the primary
       channel for direction to the output channel.  If the number of
       insertion channel RTP packets delivered through output channel
       are less than the number of overridden primary channel RTP
       packets during certain avail time, splicer also needs to
       coordinate the subsequent primary channel RTP packets with
       pervious insertion channel RTP packets prior to delivering them
       to output channel.  Otherwise, the sequence number gap of
       insertion channel RTP packets and primary channel RTP packets may
       induce RTP receiver to request unnecessary retransmission for
       inexistent packet loss due to the missing sequence numbers.  For
       example, in Figure 3, three primary channel RTP packets are
       overridden by two insertion channel RTP packets during certain
       avail time, the next primary channel RTP packet, whose sequence
       number is SN19, may misguide RTP receiver to request
       retransmission of an inexistent RTP packet whose sequence number
       is SN18.




Xia, et al.             Expires October 22, 2010                [Page 8]

Internet-Draft            seamless splicing ps                April 2010


4.  Potential Approach Considerations

   A powerful translator defined in [RFC3550] can be designed as splicer
   and support splicing related operations.  When receiving primary
   channel RTP packets and insertion channel RTP packets, the translator
   firstly decodes these RTP packets and performs MPEG2-TS splicing
   specified in [SCTE30], then re-encode the MPEG2-TS according to the
   payload format defined in [RFC2250] with their SSRC identifier
   intact, but assign new sequence numbers to the output channel RTP
   packets.

   However, usage of translator is rather usual in a video conference
   scenario than in a splicing scenario.  Translator has to continuously
   decode and encode primary channel RTP packets even if next splicing
   event is far from coming, or even no splicing event occurs again.
   For example, a translator, which plan to insert the next ad into a
   football game, will wait at least 45 minutes before performing
   splicing at half-time.  In such case, the additional overhead is
   introduced on translator when it performs unnecessary decoding and
   encoding of the football game.

   Herein, in addition to modify RTP packets, translator must not simply
   forward RTCP packets.  Translator must make corresponding
   transformations in the SR and RR information so that it still
   reflects the characteristics of the data and the reception quality.
   It is more complex compared to just forwarding RTCP packets
   unmodified.

   Furthermore, a splicer may serve more than one primary channels
   simultaneously, the heavy-laden splicer may has unpredictable
   overhead when performing splicing.

   To avoid the aforementioned issues, a more efficient splicing
   mechanism on RTP/RTCP layer can be justified that would be part of
   the RTP/RTCP base protocol.


5.  Security Considerations

   The security considerations of translators which are described in
   section 7 of [RFC3550] and in section 5 of [RFC5117] also apply to
   this document.


6.  IANA Considerations

   This document has no IANA actions.




Xia, et al.             Expires October 22, 2010                [Page 9]

Internet-Draft            seamless splicing ps                April 2010


7.  Acknowledgments

   The author would like to thank Colin Perkins for his reviews and
   comments on the initial version of this document.


8.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3550]  Schulzrinne, H., Casner, S., Frederick, R., and V.
              Jacobson, "RTP: A Transport Protocol for Real-Time
              Applications", STD 64, RFC 3550, July 2003.

   [RFC2250]  Hoffman, D., Fernando, G., Goyal, V., and M. Civanlar,
              "RTP Payload Format for MPEG1/MPEG2 Video", RFC 2250,
              January 1998.

   [RFC5117]  Westerlund, M. and S. Wenger, "RTP Topologies", RFC 5117,
              January 2008.

   [SCTE30]   Society of Cable Telecommunications Engineers (SCTE),
              "Digital Program Insertion Splicing API", 2001.

   [SCTE35]   Society of Cable Telecommunications Engineers (SCTE),
              "Digital Program Insertion Cueing Message for Cable",
              2004.

   [MPEG2TS]  "Generic Coding of Moving Pictures and Associated Audio
              Information: Systems", 2006.


Authors' Addresses

   Jinwei Xia
   Huawei
   Hui Hong Mansion
   Nanjing, Baixia District  210001
   China

   Phone: +86-025-84565890
   Email: xiajinwei@huawei.com








Xia, et al.             Expires October 22, 2010               [Page 10]

Internet-Draft            seamless splicing ps                April 2010


   Hui Xia
   Huawei
   Site B,Floor 12F,Huihong Mansion, No.91 Baixia Rd.
   Nanjing, Jiangsu  21001
   China

   Phone: +86-25-84565868
   Email: rakexia@huawei.com


   Jinhui Zhang
   Huawei
   Site B,Floor 12F,Huihong Mansion, No.91 Baixia Rd.
   Nanjing, Jiangsu  21001
   China

   Phone: +86-25-84565866
   Email: zhang.jinhui@huawei.com

































Xia, et al.             Expires October 22, 2010               [Page 11]