You are on page 1of 22

Terayon Communication Systems

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

August 2002 Beta Version 1.0

Table of Contents
Introduction ................................................................................................1 Operating Environment and Notation ........................................................1 General Support of Splicing API
Splicing API Version Support ................................................................... 3 Digital Program Insertion License ............................................................ 3 Server Configuration ................................................................................ 3 Channel Names ....................................................................................... 3 Multiple Error Codes ................................................................................ 4 Init_Request Message ............................................................................. 4 Init_Response Message .......................................................................... 4 Cue_Request Message ........................................................................... 4 Cue_Response Message ........................................................................ 5 Splice_Request Message ........................................................................ 5 Black Video Insertion ............................................................................... 5 Muted Audio Insertion .............................................................................. 5 Splice_Response Message ..................................................................... 6 SpliceComplete_Response Message ...................................................... 6 Treatment of Field Bit Rate ...................................................................... 7 Alive_Request Message .......................................................................... 7 Alive_Response Message ....................................................................... 7 ExtendedData_Request Message ........................................................... 7 ExtendedData_Response Message ........................................................ 7 Abort_Request Message ......................................................................... 7 Abort_Response Message ...................................................................... 8 GetConfig_Request Message .................................................................. 8 GetConfig_Response Message ............................................................... 8 General_Response Message .................................................................. 8 Version Structure ..................................................................................... 9 Hardware_Config Structure ..................................................................... 9 Splice_Elementary_Stream( ) Structure .................................................. 9 Time ( ) Field ............................................................................................ 9 Playback_Descriptor .............................................................................. 10 Muxpriority_Descriptor( ) ....................................................................... 10 Missing_Primary_Channel_Action_Descriptor( ) ................................... 10

Component Matching .............................................................................10 Cue Messages .......................................................................................14 Application Constraints for Users ............................................................17 Interfaces .................................................................................................17 Reliability and Fault Management ...........................................................18

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

ii

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

Introduction
This application note is intended for Ad Server manufacturers and other vendors involved in development and usage of Digital Program Insertion (DPI) equipment that inter-operates with the Terayon Network CherryPicker. This document covers the requirements associated with two DVS standards, ANSI/SCTE 35 2001 Digital Program Insertion Cueing Message for Cable [DPICM] and ANSI/SCTE 30 2001 Digital Program Insertion Splicing API [DPISA], as well as with the application guide Digital Program Insertion Cueing Message for Cable Application Guidelines for ANSI/SCTE 35 2001 [DPICAG]. Network CherryPicker software v1.1 is fully compliant with these standards. In cases where the standards specify several options or are not clear, this document identifies the approach Network CherryPicker has implemented. The Network CherryPicker does not support the previous version 1.10a of the DPI API [DPIAPI10], as implemented in CherryPicker software v3.0 and earlier.

Operating Environment and Notation


A typical DPI system is shown in Figure 1. The primary multiplex typically carries network feeds, but may also be connected to a video server, MPEG encoder, etc. The insertion multiplex comes from an Ad Server or from another source of local programming. The term channel is synonymous with the terms program and service used in other MPEG standards. A particular channel in the insertion multiplex is inserted into a specified channel in the primary multiplex at a designated time for an assigned duration. The splice at the start of the insertion is

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

referred to as splice-in; the splice at the end of the insertion is referred to as splice-out. The Splicer can have many primary multiplexes and can be connected to several servers.
Primary Multiplex (with or without Embedded Cue message)

Splicer (DM Device)


Primary Channel Output Channel Output Multiplex

Insertion Multiplex

Insertion Channel

TCP/IP Socket

Network Connection

Server

Figure 1

DPI Configuration

The API communication between the Splicer and the Server is done through TCP/IP socket communications at port 6021. According to the DPI Splicing Standard, a separate API Connection is associated with each output channel of splicing [DPISA, Section 6.1]. That is, a separate API Connection (TCP/IP socket connection) is associated with each Channel Server IP Address pair. A Primary Multiplex may carry programs with embedded cue messages. These messages provide such information as the beginning time of a splice (insertion) event, the end time of the splice event, duration of the insertion, etc. A cue message is embedded in the MPEG Transport Stream as a table. This table is referred to as a Splice Information Table. The Splice Information Table pertains to a given program and is carried in a separate PID referred to by that programs Program Map Table (PMT). The Splicer can either forward a cue message downstream through an output multiplex, or extract and send it to a local server (via TCP/IP using the DPI API format), or do both. A cue message may come in an encrypted form, so the Splicer does have to decrypt the message before sending it to the local server. The Network CherryPicker does not support sending a cue message to the Server if the message is encrypted. When either forwarding or extracting a cue message, the Splicer has to properly modify the field in this message which adjusts the PTS of the splice time. The modification is related to the PTS and PCR restamping that takes place in the Splicer. This field is sent in the clear, so for forwarding a cue message, the Splicer need not decrypt it.

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

General Support of Splicing API


Splicing API Version Support The Network CherryPicker provides full support for the Digital Program Insertion Splicing API standard ANSI/SCTE 30 2001 [DPISA] with the constraints and clarifications defined in this document. The previous versions of the DPI API, such as v1.10a are not supported. Digital Program Insertion License The Network CherryPicker software is shipped with software that supports DPI. The DPI functionality is activated only upon entering a unique number. This number is given to the user upon purchasing an Digital Program Insertion license. The Digital Program Insertion license enables one Network CherryPicker to insert ads on the number of channels specified in the license (i.e., a license is issued on a per channel basis). Server Configuration After the Server is connected to the Network CherryPicker, the Server has to be manually configured. The configuration information is transmitted back to the Network CherryPicker via the DPI API to identify the Primary and the Insertion Channels. The configuration information includes: - Network CherryPicker IP address - name of CP Manager in the Network CherryPicker to be used as the Splicer - name of the MPEG input line (port) connected to the Server The user must not change any of the four parameters specified above while an Ad Server has a working connection to the Network CherryPicker. The name of the MPEG input port cannot be changed via software. If the remaining three parameters are changed, the Network CherryPicker responds as follows: If the IP address changes, the connection with the Ad Server times out. If either the name of the CherryPicker Manager or the output program change, it does not affect the existing connections. There are no errors reported to the user. The new connections to the name that no longer exists is not allowed. Channel Names The primary channel may have different names at the Network CherryPicker input and output. The Network CherryPicker also allows an abbreviated ChannelName definition, which contains only the <output program name> field. In this case, the Ad Server is connected to the first output program, which matches the <output program name>. The search is done in the alphanumerical order of the IDs of the outputs and of the multiplexes. This

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

abbreviated format should be avoided since it may not be supported in future releases of software. If the name of the Network CherryPicker primary input channel is changed, the Network CherryPicker continues program insertion as long as it is still groomed to the output and the output name for the primary channel remains the same. Multiple Error Codes In cases when multiple error codes may apply to a response message, only one response message is sent, with one error code. This is done because the DPI Splicing API Standard does not define a mechanism for sending several responses to the same event. The priority of error codes, i.e., which one is selected, is not defined in this standard and hence, is not considered critical. or each type of response message, the priority corresponds to the order in which the error codes are listed in the specification. Init_Request Message The Network CherryPicker supports this message as defined in [DPISA, Section 7.3.1]. Init_Response Message The Network CherryPicker supports this message as defined in [DPISA, Section 7.3.2]. - ChannelName is the name of the program (service) where the Server inserts its content. - SplicerName is the name of the CP Manager that manages the Network CherryPicker to
be used for insertion.
Result Code 102 103 104 105 118 Result Message Invalid Version Access Denied Invalid/Unknown ChannelName Invalid Physical Connection Splicing Device Does Not Exist Event Version not 0 Out of license ChannelName does not exist in the Splicer Card and port of hardware_config( ) message do not exist SplicerName does not exist in Controller

Table 1 Init_Response messages

Cue_Request Message The Network CherryPicker supports this message, including the General_Message response as defined in [DPISA, Sections 7.4 and 7.4.1]. The Network CherryPicker does not take action in response to the possible result codes sent with the Cue_Response message.

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

Cue_Response Message The Network CherryPicker supports this message as defined in [DPISA, Section 7.4]. Splice_Request Message The Network CherryPicker supports this message as defined in [DPISA, Section 7.5.1] The Network CherryPicker allows no more than 10 queued Splice_Request messages on a given API connection. Black Video Insertion If the field PostBlack in the Splice_Request message is non-zero, then a black video file and a muted audio file are played at the end of the insertion. The following command in the file cp-controller.properties, defines the name of the file which is used as a PostBlack video:
PostBlackFile=<file name>
where <file name> is a black video file in the /usr/cp/video directory.

If the PostBlackFile command does not exist in cp-controller.properties, the default file is black.ntsc. The following command in the Network CherryPicker Configuration File defines the name of a video PostBlack file to be used in a specific output program. This command, if present, overrides the file name given in PostBlackFile for this particular output program:
NAME_OUT_POSTBLACK_VIDEO <output feed ID/name> <output mux ID/name> <output program number/name> <file name> where <file_name> is name of video file.

Muted Audio Insertion The Network CherryPicker automatically selects the proper audio file to play with black video by matching to the format of the audio played in the ad. The muted audio files played in PostBlack are stored in the directory /usr/cp/audio on the Network CherryPicker flash card. - muted.ac3 (AC-3) - muted.m2a (MPEG-2, layer 2 audio)

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

Splice_Response Message The Network CherryPicker supports this message as defined in [DPISA, Section 7.5.2].
Result Code 112 114 Result Message Splice_request late Message queue full Event Server did not send Splice_Request message within 3 seconds
More than 10 queued Splice_Request messages in Network CherryPicker message queue

121

Invalid SessionID

Multiple Splice_Request messages outstanding with the same SessionID PriorSession ID does not exist

Table 2 Splice_Response messages

SpliceComplete_Response Message The Network CherryPicker supports this message as defined in [DPISA, Section 7.5.3]. This message is sent if the Abort_Request message caused a Splice-out of the insertion. If no Splice-out was needed then no SpliceComplete_Response message is reported [DPISA, Section 7.8].
Result Code 108 110 111 Result Message Splice Failed - Unknown Failure No Insertion Channel Found No Primary Channel Found Event Network CherryPicker cannot splice. Insertion channel stream did not start at least 300 milliseconds before the specified time. Server requests splice on primary channel that does not have valid input. The Splicer does not perform the splice. Network CherryPicker cannot find a splice point in Primary Channel. If PCR is not sent on or before the first video access unit of the Insertion Channel stream. Abort_Request Message caused a Splice-out of the insertion. Video stream of insertion content did not start with a sequence header and I-frame. PCR not sent on or before first video access unit of insertion stream. Insertion stream started more than 800 milliseconds before the specified time.

113 115 116 122 122 126

No Splice Point Was Found Session Playback Suspect Insertion Aborted Session did not complete Session did not complete Insertion Channel Started Early

Table 3 SpliceComplete_Response messages

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

Treatment of Field Bit Rate The Network CherryPicker reports this rate as the sum of the rates of all elementary streams in a single Session (i.e., a single ad) averaged over the duration of the insertion and measured at the transport packet level. The SI data is not included in this figure. Note that in all the events mentioned above (except for the PAT/PMT changes) no ad insertion is done. Alive_Request Message The Network CherryPicker supports this message as defined in [DPISA, Section 7.6.1]. Alive_Response Message The Network CherryPicker supports this message as defined in [DPISA, Section 7.6.2]. Result of this operation is always 100. Since one Server can be connected to several Network CherryPickers, the content of the Alive_Request message corresponds to the Network CherryPicker with the specified SessionID. In particular, the reported time( ) corresponds to the UTC time in that Network CherryPicker. ExtendedData_Request Message The Network CherryPicker supports the reception and parsing of this message according to the definition in [DPISA, Section 7.7.1]. ExtendedData_Response Message The Network CherryPicker supports this message as defined in [DPISA, Section 7.7.2]. The splice_API_descriptor( ) field is skipped.
Result Code 121 124 Result Message Invalid Session ID Descriptor Not Implemented Event SessionID in the ExtendedData_Request message is incorrect SessionID in the ExtendedData_Request message is correct.

Table 4 ExtendedData_Response messages

Abort_Request Message The Network CherryPicker supports this message as defined in [DPISA, Section 7.8.1]. All back-to-back ad insertions linked via this session for this output channel are aborted. - SpliceComplete_Response message for each aborted session is sent back to the Ad Server
with Result 116 - Insertion Aborted.

SpliceComplete_Response_Data structure are set as follows:

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

SpliceTypeFlag is set to 1 (splice out) bit rate is set to 0 playedDuration is set to 0 before insertion plays playedDuration is set to number of frames played when insertion is playing

Abort_Response Message The Network CherryPicker supports this message as defined in [DPISA, Section 7.8.2] and [DPISA, Section 7.8].
Result Code 116 Result Message Insertion Aborted Event Abort_Request message received causing splice-out of insertion. Message sent for each aborted SessionID in the case of all pending back-to-back insertions linked to that SessionID. Requested SessionID does not exist.

121

Invalid SessionID

Table 5 Abort_Response messages

GetConfig_Request Message The Network CherryPicker supports this message as defined in [DPISA, Section 7.9.1]. GetConfig_Response Message The Network CherryPicker supports this message as defined in [DPISA, Section 7.9.2]. If any of the parameters in the configuration for this connection are invalid, Result 107 - Invalid Configuration is sent to the Ad Server. General_Response Message The Network CherryPicker supports this message as defined in [DPISA, Section 7.1].
Result Code 117 120 128 Result Message Invalid Cue Message Unknown Message ID PMT Changes Event Controller cannot parse cue message. Controller cannot determine the response message ID to be used. Primary channel PMT has changed.

Table 6 General_Response messages

If the Ad Server receives an unknown message ID, the Ad Server can send a General_Response message to the Network CherryPicker. The Ad Server parses the message and no action is taken. This typically signals a corrupted connection. The Ad Server issues an Alive_Request message. If an Alive_Response message is not received from the Network CherryPicker within 5 seconds, the Ad Server drops and reestablishes the connection.

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

Version Structure The Network CherryPicker supports this structure as defined in [DPISA, Section 8.1]. Hardware_Config Structure The Network CherryPicker supports this structure as defined in [DPISA, Section 8.2].
Field Chassis Card When Received by Network CherryPicker Value ignored Integer indicating Network CherryPicker slot to which the Servers insertion multiplex is connected. Network CherryPicker letter codes are represented by integers as follows: 2 = B, 3 = C, etc. Network CherryPicker input number on the card specified in the Card field Only the value of 0x0000 is allowed. All other values return an error If the Port carries multiple insertion multiplexes on a single input, then this field allows the Splicer to determine which to use when splicing from this Server. Network CherryPicker ignores the value of this field When Sent by Network CherryPicker Value set to 0xFFFF [see DPISA, Section 7.2] Integer indicating Network CherryPicker slot to which the Servers insertion multiplex is connected. Network CherryPicker letter codes are represented by integers as follows: 2 = B, 3 = C, etc. Network CherryPicker input number on the card specified in the Card field Value of this field is set to 0x0000 (not used) Value of this field is set to 0xFFFF

Port

Logical_Multiplex_Type

Logical_Multiplex

Table 7 Hardware_Config Structure

Splice_Elementary_Stream( ) Structure The Network CherryPicker supports this structure as defined in [DPISA, Section 8.3]. If the structure is invalid, a response with Result 123 - Invalid Request data( ) is sent to the Ad Server. Time ( ) Field The Network CherryPicker supports this structure as defined in [DPISA, Section 8.4]. Playback_Descriptor The Network CherryPicker does not support this structure.

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

Inclusion of this descriptor in the Splice_Request message generates Result 124 Descriptor Not Implemented. This result code will be used only if there are no other error codes to be sent with Splice_Response message, and it will not cause cancellation of a splice request. Muxpriority_Descriptor( ) The Network CherryPicker supports the muxpriority_descriptor( ) as defined in [DPISA, Section 8.5.2]. The MuxPriorityValue in the muxpriority_descriptor( ) applies only to a MP@ML video steam. It has no impact on MP@HL video, audio, or data stream types. The CP_Priority setting for video in the insertion channel is modified as follows:
Insertion_CP_Priority=Primary_CP_Priority+(MuxPriorityValue5) where Primary_CP_Priority is CP Priority setting for primary channel and Insertion_CP_Priority is priority value used during insertion.
MuxPriorityValue

- Range 1 - 10 (1 lowest, 10 highest) - MuxPriorityValue of 5 does not modify the output channels priority
Insertion_CP_Priority

- Range 0 - 10 - Result of the above calculation is limited to 0 if the right side of the equation
is less than 0; and is limited to 10 if the right side is greater than 10.

Missing_Primary_Channel_Action_Descriptor( ) The Network CherryPicker supports this descriptor as defined in [DPISA, Section 8.5.3].

Component Matching
Component matching is a process of mapping the elementary stream PIDs in the Primary Channel to the elementary stream PIDs transmitted during insertion. Matched streams have the same PIDs. The Network CherryPicker follows rules based on these main constraints. Video Stream Matching PMT version used in the output channel does not change for the insertion. Stream matching to satisfy each rule in this section is done one stream at a time in the following order: - A stream from the insertion channel is selected in the order in which the stream is listed in
the Splice_Request message.

- The stream is matched with the streams in the primary channel.

10

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

- The primary channel stream is selected in the order each is listed in that channels PMT. If the primary channel only has one video elementary stream, the matched video stream in the insertion channel must have the same type (i.e., MPEG-1 or MPEG-2). DigicipherII and MPEG-2 video are treated as if they have the same stream type. If the video stream in the primary and insertion channels cannot be matched, the insertion channel is not spliced and the Network CherryPicker returns Result 101 Unknown Failure in the Splice_Response message. All elementary stream PIDs used in the primary channel are reused during insertion. Audio Stream Matching Two criteria are used to match audio streams. - compression type (i.e., MPEG-2 layer 2, AC3, etc.) - language descriptor (English, Spanish, etc.) The audio compression type is referred to as the audio stream type. If the language descriptor is missing, it is treated as a dont care condition for matching.
Audio Stream Type

In matching audio elementary streams, the first matching criteria is the audio stream type. The audio stream type in the insertion is the same as the audio type in the primary channel when matched. These streams have the same output PID. If the primary and the insertion channel have audio streams of different types, then MPEG streams in the primary channel are matched with MPEG streams in the insertion channel, and AC3 streams in the primary channel are matched with AC3 streams in the insertion channel. MPEG-1 audio does not match MPEG-2 audio.
Language

The language descriptor is used to further match the streams that satisfied the rules above.

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

11

If both the primary and insertion channels each have two MPEG audio streams with the same language descriptors, English and Spanish (E and S), then both audio streams, E and S, are played during the insertion. E is matched to E and S is matched to S.
Primary Channel Name(Type) C1(MPEG) C2(MPEG) C3(MPEG) C4(MPEG) C5(AC3) C6(AC3) Lang E E S G E S PID 5 7 13 15 18 20 I2(MPEG) I3(MPEG) I4(AC3) 15(AC3) I6(AC3) S F E G F Insertion Channel Name(Type) I1(MPEG) Lang E PID 31 32 33 35 38 40 50 Output Channel Name(Type) I1(MPEG) I1(MPEG) I2(MPEG) I1(MPEG) I4(AC3) 14(AC3) Lang E E S G E S PID 5 7 13 15 18 20

Table 8 Component matching

PID Duplication

If after matching the type and the language of the audio streams there are still unmatched audio streams in the primary channel, PID duplication is used. If the insertion channel has a stream (already matched) of the same type and language as the unmatched primary channel streams, this insertion stream is repeated as many times as needed to match the unmatched primary channel streams of this type and language. - The insertion channel streams used for duplication are selected in the order they are listed
in the Splice_Request message. - The repeated streams have the PIDs of the corresponding primary channel streams.

If the insertion channel has a stream (already matched) of the same type but not the same language as the unmatched primary channel streams, this insertion stream is duplicated as many times as needed to match these primary channel streams. - The insertion channel streams used for duplication are selected in the order they are listed
in the Splice_Request message (i.e., the stream listed first is selected and used until all the primary streams of this type have been used, then the first stream of the second type is selected and used, etc.). - The duplicated insertion channel stream is assigned the PIDs of the corresponding primary channel streams. - No other changes in the insertion channel stream and in the output PMT (including the language descriptor) are made.

If the insertion channel does not have a stream (already matched) of the same type as the unmatched primary channel streams, the insertion channel listed first in the Splice_Request message is duplicated as many times as need to match the remaining primary channel streams.

12

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

- The duplicated insertion channel stream is assigned the PIDs of the corresponding
primary channel streams. - No other changes in the stream and in the output PMT are made.
Unmatched Audio Insertion Streams

If after matching the type, language, and unmatched audio streams in the primary channel, there are still unmatched audio streams in the insertion channel, the unmatched insertion channel audio streams are dropped. At least one audio stream in the insertion channel must match a primary channel audio stream. If none of the audio streams in the insertion channel can be matched, then the insertion channel is not spliced. The Network CherryPicker returns Result 101 - Unknown Failure in the Splice_Response message. Other Data Streams Matching of other data streams is based on the stream type. The other data streams referred to in the subsequent bullets include all the elementary streams with the stream_type assignment in PMT other than MPEG-1 video and audio, MPEG-2 video and audio, and AC-3, per MPEG Systems Standard [MPEGS, Section 2.4.4.9 and Table 2-29] and other related standards (DVB, ATSC, and DC-2). A data insertion stream is the same stream_type as the corresponding stream in the primary channel when matched and they have the same output PIDs. If, after matching the stream_type of the data streams, there are still unmatched data streams in the primary channel, the following steps are taken: The teletext streams and the Cue messages from the Primary Channel is passed to the output first. Both sync and async teletext streams are treated as belonging to the same type. The designations sync and async are Network CherryPicker-specific. If the insertion channel has a stream (already matched) of the same type as the unmatched primary channel streams, the insertion stream is repeated as many times as needed to match the unmatched primary channel streams of this type. - The insertion channel streams used for this duplication is selected in the order they are
listed in the Splice_Request message.

- The repeated streams have the PIDs of the corresponding primary channel streams. The remaining unmatched primary channel streams are dropped. The PIDs corresponding to these dropped streams are listed in the output PMT, but no transport packets with these PIDs are transmitted.
Unmatched Data Insertion Streams

If after processing all the other data streams in the primary channel there are still unmatched data streams in the insertion channel, the unmatched insertion channel data streams are dropped.

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

13

Grooming During Ad Insertion Grooming on the output channel with ad insertion is disabled from the beginning of an insertion to its end. In back-to-back insertions, grooming is disabled from the beginning of the first insertion in a sequence to the end of the last one.

Cue Messages
The Network CherryPicker is compliant with ANSI/SCTE 35 2001 DPI Cueing Message for Cable standards that pertain to Splicers and multiplexers. Communication between the Server and the Controller is initialized by exchanging the initialization API messages. The Network CherryPicker receives cue messages and passes them to the Server. Network CherryPicker software v1.1 does not support decryption of cue messages, so only clear messages can be passed to the Server. The Network CherryPicker can also pass the cue messages to the MPEG output, if the streams with these messages are groomed. In this case, no decryption is needed, so the Network CherryPicker passes both encrypted and clear cue streams. The Network CherryPicker modifies the PTS related field in a groomed cue message (that field is always transmitted in the clear). Cue Message Lead Time Cue message originators are advised to send cue messages at least 6 seconds in advance of the splicing event. Cue Message Forwarding Forwarding of cue messages downstream is done by grooming the streams carrying the Splice Information Table and by proper modification of the output PMT. Grooming by multiplex and grooming by program is done the same way as for any other multiplex and program. Grooming by elementary stream is allowed only for removing cue messages from a groomed program, i.e., for blocking cue messages. In this case, the user grooms an entire program without the Splice Information Table. The Network CherryPicker takes care of modifying the output PMT to reflect this change. Synchronization with Elementary Streams In order to synchronize the arrival time of cue messages with the associated elementary stream, the Network CherryPicker treats the Splice Information Table stream as a passthrough table.

14

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

Identification of Programs and Streams Programs compliant with ANSI/SCTE 35 2001 which carry cue messages are identified by the presence of a program-wide registration descriptor in Program_Stream_Info of the PMT. The registration descriptor format follows the definitions in [MPEGS, Sections 2.5.4.2 and 2.6.8] and [DPICM, Section 5.1.1]. If such registration descriptor is not found, then the Network CherryPicker does not search for other cueing information in that PMT (i.e., Slice Information Table PID and stream identifier descriptor). The Splice Information Table PID is identified in a PMT as a stream satisfying the following two conditions: - the PMT has the ANSI/SCTE 35 2001 registration descriptor, as defined above, and - stream_type = 0x86 (user private) If a PMT has a ANSI/SCTE 35 2001 compliant registration descriptor, then the Network CherryPicker may have to extract the Stream_Identifier_Descriptor( ) for each elementary stream in this PMT. This descriptor is used to label component streams of a program so that they can be differentiated for insertion. The descriptor is defined in [DPICM, Section 5.2.1]. - descriptor_tag = 0x52 (user private) Grooming by Multiplex Only static grooming is supported in grooming by multiplex. Splice Information Tables for each program will be included in grooming by multiplex. Encrypted Splice Information tables will be supported for this type of grooming. Grooming by Program The Network CherryPicker supports both static and dynamic grooming by program of the programs carrying cue messages. If the groomed program at the input has a Splice Information Table, this table is included in grooming by program. Encrypted Splice Information Tables are supported for this type of grooming and are passed to the MPEG output. The ANSI/SCTE 35 2001 registration descriptor is copied to the output PMT from the corresponding input PMT. The stream_identifier_descriptor( ) for each elementary stream is copied to the output PMT from the corresponding input PMT. Although the PIDs of the elementary streams identified in the input PMT changes, each output stream has the same stream_identifier_descriptor( ) it had at the input. Splice Information Table have the stream_type = 0x86 in the output PMT.

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

15

Grooming by Elementary Stream The Network CherryPicker supports both static and dynamic grooming by stream in programs that carry cue messages only for removing the corresponding cue message from the output program. If a Splice Information Table is removed from an output program, then the Network CherryPicker modifies the PMT as follows: - reference to Splice Information Table PID is removed - ANSI/SCTE 35 2001 registration descriptor is removed - the stream_identifier_descriptor( ) for each elementary stream is removed If groomed, the Splice Information Table has stream_type = 0x86 in the output PMT. The Network CherryPicker does not allow adding a Splice Information Table from one program to a collection of output streams that form a different output program as a result of grooming by elementary stream. Splice Information Table Format and Modifications in Grooming Splice Information Tables output from the Network CherryPicker conform to the MPEG transport packet format [MPEGS, Section 2.4.3.2] with the payload being private_section() specified in [MPEGS, Section 2.4.4.10]. The private_section() in the case of a Splice Information Table is the splice_info_section(). The Network CherryPicker does not modify the transport packets carrying the splice_info_section( ), except as is specified below. The Network CherryPicker grooms both encrypted and non-encrypted Splice Information Tables. In the process for grooming a Splice Information Table, the Network CherryPicker does not encrypt or decrypt the table, but passes it to the output in the same form as it comes. The PID value of a Splice Information Table stream may have to be modified for the final Network CherryPicker output. The field pts_adjustment in the splice_info_section( ) is modified to account for pcr/pts/ dts restamping in the Network CherryPicker. The modification complies with the requirements for pts_adjustment in ANSI/SCTE 35 2001 [DPICM, Section 6.2.1]. The field CRC_32 is modified as well because of the pts_adjustment field change. Signal Analysis and Rate Control There is no rate control of the Splice Information Table rate.
Program Analysis

Program Analysis includes the rate of the Splice Information Table stream in the average program rate. Program Analysis displays the rates of various program components in a table including a separate entry for the Splice Information Table PID.

16

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

Stream Analysis

Stream Analysis includes the rate of the Splice Information Table stream in the aggregate program rate and in the average program rate. Cue Messages for DPI Splicing API If there are DPI Splicing API connections for a particular groomed program, the Network CherryPicker extracts the splice_info_section( ) in each occurrence of the Splice Information Table and sends the splice_info_section( ) to every Server that has an API connection to this program. The Network CherryPicker constructs the time( ) structure in the Cue_Request message from the pts_time information in the splice_info_section( ) as specified in [DPISA, Section 7.4.1] and [DPICM, Section 6.5.2.1]. The Network CherryPicker sends the Cue_Request message with time( ) and splice_info_section( ) to the Servers with a minimum delay. If for any reason, the Network CherryPicker cannot convert the pts_time to UTC time, the first 8 bytes are set to 0xffffffffffffffff as a dont care.

Application Constraints for Users


Connecting an Ad Server If an insertion server output is to be connected to a Network CherryPicker input previously used by another source, that Network CherryPicker input port needs to be cleared prior to the connection. The user must clear the existing programs in that feed from the GUI before configuring new program insertions. While a connection to an Ad Server is active, the parameters of the Network CherryPicker listed in the Server information requirement must not be changed.

Interfaces
Network CherryPicker GUI Support for DPI The Network CherryPicker GUI supports the following actions related to DPI: Identification of the supported DPI Splicing API version. Entry of the Digital Program Insertion License number. Display of Digital Program Insertion License information, including license numbers, the number of enabled channels and the time remaining for each enabled channel. Display of all information needed by the Server. Identification of the Network CherryPicker input lines connected to the Ad Server. Identification of the output channels that are used by the Server for content insertion.

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

17

Identification of the input and output programs that carry cue information and identification of the streams carrying the Splice Information Table. The label CUEI will be shown next to these streams. Grooming of multiplexes, programs and streams with the Splice Information Tables. If the user performs drag-and-drop grooming of a Cue stream and cueing information is violated, a warning message appears with the text Can not groom. See alarms for details. Front Panel Support for DPI The Network CherryPicker front panel does not support DPI requirements.

Reliability and Fault Management


Design and Test Requirements A separate log file for logging ad insertion specific errors is created. This is done to allow a greater flexibility in selecting when the ad insertion errors is reported through the Network CherryPicker interfaces. No alarms or normal events are logged, except as indicated below. This is done because all the communications related to DPI is done through the DPI API mechanism. An error message corresponding to each instance when an error result is sent by the Network CherryPicker is logged in the ad insertion error log. The only exception to this rule is the errors associated with the Init_Response message. The errors and alarms associated with this message is logged into the regular Network CherryPicker logs. This is done because correcting errors associated with these commands requires manual changes by a user. The Network CherryPicker always returns to the Primary Channel on any error condition that would cause the Output Channel to stop transmitting. - The Network CherryPicker would then return a SpliceComplete_Response with a Result
110 - No Insertion Channel Found [DPISA, Section 6.3].

18

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

You might also like