One document matched: draft-xia-avt-splicing-for-mpeg2ts-ps-01.txt
Differences from draft-xia-avt-splicing-for-mpeg2ts-ps-00.txt
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]
| PAFTECH AB 2003-2026 | 2026-04-24 05:30:48 |