ncp support for dpi

22
Terayon Communication Systems Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001 August 2002 Beta Version 1.0

Upload: monluise

Post on 03-Oct-2014

94 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NCP Support for DPI

Terayon Communication Systems

Network CherryPicker Support forSCTE 30 2001 and SCTE 35 2001

August 2002Beta Version 1.0

Page 2: NCP Support for DPI
Page 3: NCP Support for DPI

Table of Contents

Introduction ................................................................................................1

Operating Environment and Notation ........................................................1

General Support of Splicing API Splicing API Version Support ...................................................................3Digital Program Insertion License ............................................................3Server Configuration ................................................................................3Channel Names .......................................................................................3Multiple Error Codes ................................................................................4Init_Request Message .............................................................................4Init_Response Message ..........................................................................4Cue_Request Message ...........................................................................4Cue_Response Message ........................................................................5Splice_Request Message ........................................................................5Black Video Insertion ...............................................................................5Muted Audio Insertion ..............................................................................5Splice_Response Message .....................................................................6SpliceComplete_Response Message ......................................................6Treatment of Field Bit Rate ......................................................................7Alive_Request Message ..........................................................................7Alive_Response Message .......................................................................7ExtendedData_Request Message ...........................................................7ExtendedData_Response Message ........................................................7Abort_Request Message .........................................................................7Abort_Response Message ......................................................................8GetConfig_Request Message ..................................................................8GetConfig_Response Message ...............................................................8General_Response Message ..................................................................8Version Structure .....................................................................................9Hardware_Config Structure .....................................................................9Splice_Elementary_Stream( ) Structure ..................................................9Time ( ) Field ............................................................................................9Playback_Descriptor ..............................................................................10Muxpriority_Descriptor( ) .......................................................................10Missing_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 i

Page 4: NCP Support for DPI

ii Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

Page 5: NCP Support for DPI

Netwo

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

rk CherryPicker Support for SCTE 30 2001 and SCTE 35 2001 1

Page 6: NCP Support for DPI

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.

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 program’s 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.

Insertion Channel TCP/IP Socket

Primary Channel Output Channel

Primary Multiplex (with or without Embedded Cue

message)

Insertion Multiplex

Output Multiplex

Splicer (DM Device)

Server

Network Connection

2 Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

Page 7: NCP Support for DPI

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 3

Page 8: NCP Support for DPI

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.

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.

Result Code Result Message Event

102 Invalid Version Version not 0

103 Access Denied Out of license

104 Invalid/Unknown ChannelName ChannelName does not exist in the Splicer

105 Invalid Physical Connection Card and port of hardware_config( ) message do not exist

118 Splicing Device Does Not Exist SplicerName does not exist in Controller

4 Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

Page 9: NCP Support for DPI

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 5

Page 10: NCP Support for DPI

Splice_Response Message

The Network CherryPicker supports this message as defined in [DPISA, Section 7.5.2].

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].

Table 3 SpliceComplete_Response messages

Result Code Result Message Event

112 Splice_request late Server did not send Splice_Request message within 3 seconds

114 Message queue full 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

Result Code Result Message Event

108 Splice Failed - Unknown Failure Network CherryPicker cannot splice.

110 No Insertion Channel Found Insertion channel stream did not start at least 300 milliseconds before the specified time.

111 No Primary Channel Found Server requests splice on primary channel that does not have valid input. The Splicer does not perform the splice.

113 No Splice Point Was Found Network CherryPicker cannot find a splice point in Primary Channel.

115 Session Playback Suspect If PCR is not sent on or before the first video access unit of the Insertion Channel stream.

116 Insertion Aborted Abort_Request Message caused a Splice-out of the insertion.

122 Session did not complete Video stream of insertion content did not start with a sequence header and I-frame.

122 Session did not complete PCR not sent on or before first video access unit of insertion stream.

126 Insertion Channel Started Early Insertion stream started more than 800 milliseconds before the specified time.

6 Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

Page 11: NCP Support for DPI

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.

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:

Result Code Result Message Event

121 Invalid Session ID SessionID in the ExtendedData_Request message is incorrect

124 Descriptor Not Implemented SessionID in the ExtendedData_Request message is correct.

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001 7

Page 12: NCP Support for DPI

- 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].

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].

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 re-establishes the connection.

Result Code Result Message Event

116 Insertion Aborted 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.

121 Invalid SessionID Requested SessionID does not exist.

Result Code Result Message Event

117 Invalid Cue Message Controller cannot parse cue message.

120 Unknown Message ID Controller cannot determine the response message ID to be used.

128 PMT Changes Primary channel PMT has changed.

8 Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

Page 13: NCP Support for DPI

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].

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.

Field When Received by Network CherryPicker

When Sent by Network CherryPicker

Chassis Value ignored Value set to 0xFFFF [see DPISA, Section 7.2]

Card Integer indicating Network CherryPicker slot to which the Server’s insertion multiplex is connected. Network CherryPicker letter codes are represented by integers as follows: 2 = B, 3 = C, etc.

Integer indicating Network CherryPicker slot to which the Server’s insertion multiplex is connected. Network CherryPicker letter codes are represented by integers as follows: 2 = B, 3 = C, etc.

Port Network CherryPicker input number on the card specified in the Card field

Network CherryPicker input number on the card specified in the Card field

Logical_Multiplex_Type Only the value of 0x0000 is allowed. All other values return an error

Value of this field is set to 0x0000 (not used)

Logical_Multiplex 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

Value of this field is set to 0xFFFF

Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001 9

Page 14: NCP Support for DPI

• 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+(MuxPriorityValue–5)

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

Page 15: NCP Support for DPI

- The primary channel stream is selected in the order each is listed in that channel’s 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).

• Digicipher®II 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 “don’t 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

Page 16: NCP Support for DPI

• 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.

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.

Primary Channel

Insertion Channel

Output Channel

Name(Type) Lang PID Name(Type) Lang PID Name(Type) Lang PID

C1(MPEG) E 5 I1(MPEG) E 31 I1(MPEG) E 5

C2(MPEG) E 7 32 I1(MPEG) E 7

C3(MPEG) S 13 I2(MPEG) S 33 I2(MPEG) S 13

C4(MPEG) G 15 I3(MPEG) F 35 I1(MPEG) G 15

C5(AC3) E 18 I4(AC3) E 38 I4(AC3) E 18

C6(AC3) S 20 15(AC3) G 40 14(AC3) S 20

I6(AC3) F 50

12 Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

Page 17: NCP Support for DPI

- 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

Page 18: NCP Support for DPI

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 pass-through table.

14 Network CherryPicker Support for SCTE 30 2001 and SCTE 35 2001

Page 19: NCP Support for DPI

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

Page 20: NCP Support for DPI

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

Page 21: NCP Support for DPI

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 “don’t 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

Page 22: NCP Support for DPI

• 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