Использование меток scte-104/35 в системах цифровой...

18
Использование меток SCTE-104/35 в системах цифровой вставки программ 1. Архитектура систем сетевого вещания с цифровой вставкой программ .................................. 1 1.1. Линейное сетевое вещание................................................................................................... 2 1.2. Слоты...................................................................................................................................... 2 1.3. Функции сплайсера ............................................................................................................... 2 1.4. Функции рекламного сервера .............................................................................................. 2 1.5. Условия бесшовного сплайсинга......................................................................................... 3 1.6. Сообщения SCTE-104/35 ...................................................................................................... 3 1.7. Каналы передачи сообщений SCTE-104/35........................................................................ 3 1.8. Канал передачи сообщений SCTE-104 с обратной связью ............................................... 4 1.9. Канал передачи сообщений SCTE-104 без обратной связи .............................................. 4 2. Управление вставкой программ с использованием сообщений SCTE104/35 ........................... 6 2.1. Виды команд в сообщениях SCTE-35 ................................................................................. 6 2.2. Виды команд в сообщениях SCTE-104 ............................................................................... 6 2.3. Сообщения SCTE-104 типа Multiple Operation Message ................................................... 6 2.4. Команды управления сплайсингом ..................................................................................... 8 2.5. Поля данных команды Splice_request() ............................................................................... 8 2.6. Передача данных между командами SCRTE-104 Splice_request и SCTE-35 Splice_insert 9 2.7. Взаимодействие компонентов системы DPI при выполнении брейка............................. 10 3. Методы формирования и обработки сообщений SCTE-104 ..................................................... 11 3.1. Система вещания на основе отдельных компонентов....................................................... 11 3.2. Аппаратные инсертеры пакетов VANC SCTE-104 в сигнал SDI ..................................... 12 3.3. Видеосервер как источник сигнала с сообщением SCTE-104 .......................................... 13 3.4. Генерация сообщений SCTE по плей-листу системы автоматизации ............................. 14 3.5. Генерация сообщений по команде оператора .................................................................... 15 3.6. Требования к тракту SDI для корректного прохождения сообщений SCTE-104 ........... 15 3.7. Контроль сообщений SCTE-104 в пакетах VANC сигнала SDI ....................................... 16 3.8. Система вещания с использованием серверов CIAB ........................................................ 17 4. Список источников ....................................................................................................................... 17 1. Архитектура систем сетевого вещания с цифровой вставкой программ Принципиальные основы и технологические решения использования меток (сообщений) SCTE- 104/35 разработаны американским Обществом Инженеров Кабельного Телевидения (Society of Cable Television Engineers – SCTE). Изначальная цель использования меток SCTE-104/35 – управление цифровой вставкой программ (Digital Program Insertion – DPI) в сетях ТВ вещания, ретранслирующих сигнал от центральной станции через каналы цифрового вещания транспортных потоков MPEG-2 TS. Используется также термин «Цифровая вставка рекламы» (Digital Ad Insertion). По мере развития технологий и расширения набора функций идеология меток SCTE постоянно совершенствуется и отражается в новых стандартах и рекомендациях, которые находятся в свободном доступе на сайте www.scte.org. Общество SCTE не налагает каких-либо ограничений или финансовых обязательств на сети ТВ вещания, которые намереваются использовать разработанные здесь методы управления цифровой вставкой рекламы. Этот фактор играет немаловажную роль в постоянном развитии ТВ технологий и появления новых решений, продуктов и систем. Спецификации SCTE-104/35 позволяют управлять не только вставкой рекламы, но и иными способами модификации контента в распределенных ТВ системах, включая баннерную и таргетированную рекламу. Идеология SCTE-104/35 используется и в каналах распространения программ Video-On-Demand по протоколу HTTP, включая методы Adobe Dynamic Streaming (HDS), Apple Live Streaming (HLS), Microsoft Smooth Streaming (MSS), MPEG-DASH.

Upload: others

Post on 01-Aug-2020

23 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

Использование меток SCTE-104/35 в системах цифровой вставки программ 1. Архитектура систем сетевого вещания с цифровой вставкой программ .................................. 1

1.1. Линейное сетевое вещание ................................................................................................... 2 1.2. Слоты ...................................................................................................................................... 2 1.3. Функции сплайсера ............................................................................................................... 2 1.4. Функции рекламного сервера .............................................................................................. 2 1.5. Условия бесшовного сплайсинга ......................................................................................... 3 1.6. Сообщения SCTE-104/35 ...................................................................................................... 3 1.7. Каналы передачи сообщений SCTE-104/35 ........................................................................ 3 1.8. Канал передачи сообщений SCTE-104 с обратной связью ............................................... 4 1.9. Канал передачи сообщений SCTE-104 без обратной связи .............................................. 4

2. Управление вставкой программ с использованием сообщений SCTE104/35 ........................... 6 2.1. Виды команд в сообщениях SCTE-35 ................................................................................. 6 2.2. Виды команд в сообщениях SCTE-104 ............................................................................... 6 2.3. Сообщения SCTE-104 типа Multiple Operation Message ................................................... 6 2.4. Команды управления сплайсингом ..................................................................................... 8 2.5. Поля данных команды Splice_request() ............................................................................... 8 2.6. Передача данных между командами SCRTE-104 Splice_request и SCTE-35 Splice_insert 9 2.7. Взаимодействие компонентов системы DPI при выполнении брейка............................. 10

3. Методы формирования и обработки сообщений SCTE-104 ..................................................... 11 3.1. Система вещания на основе отдельных компонентов ....................................................... 11 3.2. Аппаратные инсертеры пакетов VANC SCTE-104 в сигнал SDI ..................................... 12 3.3. Видеосервер как источник сигнала с сообщением SCTE-104 .......................................... 13 3.4. Генерация сообщений SCTE по плей-листу системы автоматизации ............................. 14 3.5. Генерация сообщений по команде оператора .................................................................... 15 3.6. Требования к тракту SDI для корректного прохождения сообщений SCTE-104 ........... 15 3.7. Контроль сообщений SCTE-104 в пакетах VANC сигнала SDI ....................................... 16 3.8. Система вещания с использованием серверов CIAB ........................................................ 17

4. Список источников ....................................................................................................................... 17

1. Архитектура систем сетевого вещания с цифровой вставкой программ Принципиальные основы и технологические решения использования меток (сообщений) SCTE-104/35 разработаны американским Обществом Инженеров Кабельного Телевидения (Society of Cable Television Engineers – SCTE). Изначальная цель использования меток SCTE-104/35 – управление цифровой вставкой программ (Digital Program Insertion – DPI) в сетях ТВ вещания, ретранслирующих сигнал от центральной станции через каналы цифрового вещания транспортных потоков MPEG-2 TS. Используется также термин «Цифровая вставка рекламы» (Digital Ad Insertion). По мере развития технологий и расширения набора функций идеология меток SCTE постоянно совершенствуется и отражается в новых стандартах и рекомендациях, которые находятся в свободном доступе на сайте www.scte.org. Общество SCTE не налагает каких-либо ограничений или финансовых обязательств на сети ТВ вещания, которые намереваются использовать разработанные здесь методы управления цифровой вставкой рекламы. Этот фактор играет немаловажную роль в постоянном развитии ТВ технологий и появления новых решений, продуктов и систем. Спецификации SCTE-104/35 позволяют управлять не только вставкой рекламы, но и иными способами модификации контента в распределенных ТВ системах, включая баннерную и таргетированную рекламу. Идеология SCTE-104/35 используется и в каналах распространения программ Video-On-Demand по протоколу HTTP, включая методы Adobe Dynamic Streaming (HDS), Apple Live Streaming (HLS), Microsoft Smooth Streaming (MSS), MPEG-DASH.

Page 2: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

2

1.1. Линейное сетевое вещание Модель линейного сетевого вещания основана на региональной ретрансляции программного сигнала центральной сете-образующей станции (Рис.1-1). Программный сигнал центральной станции формируется в Центре Формирования Программ (ЦФП). В англоязычной литературе используется термин Broadcast Operation Center (BOC). Для передачи программного сигнала в систему компрессии обычно используется интерфейс HD/SD SDI. Здесь сигналы видео и аудио подвергаются компрессии и мультиплексируются в транспортный поток MPEG-2 TS одной программы (Single Program Transport Stream – SPTS), которые, в свою очередь, могут мультиплексироваться в многопрограммный транспортный поток Multi Program Transport Stream (MPTS). Для многопрограммных систем компрессии с расширенными функциями используется термин Network Operation Center (NOC). Потоки SPTS или MPTS по интерфейсам DVB или IP передаются в региональные Центры ретрансляции программ (ЦРП), где они подергаются модификации путем вставки регионального контента и далее ретранслируются на свою территорию вещания в форме модифицированных потоков SPTS или MPTS. На Рис.1-1 показан путь сообщений SCTE-104/35 от источника – ЦФП до конечного адресата – связки сплайсер/сервер в составе ЦРП.

1.2. Слоты Вставка регионального контента должны происходить в предназначенные для этого временные интервалы в расписании вещания центральной станции. В документах SCTE эти временные интервалы называются avails. При переводе на русский язык используются термины коммерческий интервал времени, региональное рекламное окно, рекламный тайм-слот и другие варианты. Далее в качестве аналога термина avail будет использоваться слово «слот». На границах слота производится переключение, или сплайсинг (Splicing) между сигналами из основного канала (сигнал центральной станции) и из канала ввода (сигнал региональной станции). Точка переключения «Центр-Регион» называется входной точкой сплайсинга Splice In Point, точка переключения «Регион-Центр» называется выходной точкой сплайсинга Splice Out Point.

1.3. Функции сплайсера Переключение сигналов в ЦРП производится сплайсером (Splicer). Спецификации DPI определяют бесшовный (seamless) - незаметный для зрителя по изображению и звуку сплайсинг с точностью до кадра. В системах DPI интервал времени вставки (брейк) обычно рассматривается как одно событие замещения фрагмента программы в сигнале центральной станции равным или близким по хронометражу рекламным блоком из сигнала региональной станции. В состав рекламного блока включены отдельные рекламные клипы. Сплайсер принимает по основному каналу транспортный поток от центральной станции и по каналу ввода - транспортный поток от рекламного сервера. В момент времени входной точки сплайсер переключает канал ввода от рекламного сервера на выходной канал. В момент времени выходной точки сплайсинга происходит обратное переключение.

1.4. Функции рекламного сервера Рекламный сервер в составе ЦРП отвечает за воспроизведение одного или нескольких файлов, составляющих региональный брейк. Вставка регионального брейка от канала ввода в основной канал происходит в рамках единой сессии, во время которой сплайсер и рекламный сервер синхронизируют свою работу через TCP/IP соединение в локальной сети ЦРП. Спецификация

Рис.1-1. Архитектура системы вещания с поддержкой

DPI

Page 3: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

3

[SCTE 30] описывает стандартизированные протоколы взаимодействия сплайсера и рекламного сервера.

1.5. Условия бесшовного сплайсинга Бесшовный сплайсинг с покадровой точностью между потоками MPEG-2 TS от центральной и региональной станций требует выполнения нескольких условий. а) Транспортный поток от центральной станции в точках сплайсинга при кодировании MPEG-2 должен начинаться с закрытой группы Group Of Picture (GOP) с I-кадром в начале группы и заканчиваться кадрами I или P типа. При кодировании H.264/AVC или H.265/HEVC в точках сплайсинга закрытая группа должна начинаться с кадра типа IDR (Instantaneous Decoder Refresh) и заканчиваться кадрами I или P типа. Прием декодером кадра IDR означает, что декодирование после точки сплайсинга можно производить без использования предшествующих кадров. В случае кодирования с переменной скоростью (Variable Bit Rate- VBR) рекомендуется переход на кодирование с постоянной скоростью (Constant Bit Rate – CBR) в интервале слота. Условие обеспечивается кодером в составе системы компрессии в ответ на прием управляющего сообщения SCTE-104 от системы автоматизации. б) Транспортный поток, воспроизводимый из файлов рекламным сервером, должен быть сформирован по тем же правилам в части формирования GOP-структуры. Параметры изображения и звука, скорость формируемого потока должны быть идентичны с потоком от центральной станции. Условие обеспечивается путем надлежащей компрессии файлов рекламного брейка. в) Сплайсер должен заблаговременно получить от системы автоматизации сообщение о точках сплайсинга, передать рекламному серверу команду на старт требуемого брейка, произвести сплайсинг во входной и выходной точках. Условие обеспечивается передачей управляющего сообщения SCTE-104/35 от системы автоматизации в адрес сплайсера. г) Рекламный сервер должен начать воспроизведение файлов регионального брейка за определенное время до старта замещения, и закончиться после регионального брейка с таким условием, чтобы начальная и конечная точки брейка во время воспроизведения совпали с моментом переключения каналов в сплайсере.

1.6. Сообщения SCTE-104/35 Реализация DPI по спецификациям SCTE-104/35 основана на передаче сообщений cueing message о предстоящих слотах для вставки региональных брейков. Термин «cueing message» при переводе на русский язык равнозначно интерпретируется как «сообщение с меткой SCTE-104/35», или как «метка SCTE-104/35». Термин «cueing message» порожден из предшествующих спецификаций управления аналоговой вставкой рекламы с использованием звуковых двухтональных посылок DTMF (Dual Tone Multi-Frequency signaling), называемых «analog cue tone». Поэтому иногда вместо «cueing message» используется термин «digital cue tone». Сообщения SCTE-104/35 о предстоящем событии сплайсинга генерируются системой автоматизации, входящей в состав ЦФП. В составе сообщения, помимо прочих данных, передается время старта (окончания) слота и идентификаторы слота, позволяющие ассоциировать каждый слот с требуемым региональным наполнением. Далее эти сообщения отправляются в адрес кодера и мультиплексора в составе системы компрессии, и в адрес сплайсера в составе ЦРП. Сплайсер ретранслирует содержание сообщения рекламному серверу, управляя его работой. Необходимо отметить, что использование сообщений SCTE-104/35 не гарантирует бесшовного сплайсинга при всех возможных условиях, но обеспечивает кадровую точность сигнализации о планируемых событиях переключения источников сигнала в ЦРП.

1.7. Каналы передачи сообщений SCTE-104/35 Сообщение с данными сплайсинга передается по цепочке «система автоматизации –> система компрессии -> сплайсер», состоящей из двух сегментов. Сегмент «система компрессии -> сплайсер» использует канал передачи MPEG-2 TS. Здесь данные сплайсинга (Splice Information Table) передаются в сообщениях SCTE-35 в виде битовой

Page 4: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

4

последовательности Splice_info_section. Сообщения SCTE-35 формируются инжектором SCTE-35 как отдельный элементарный приватный PID-поток данных, который мультиплексируется в общий выходной поток SPTS вместе с PID-потоками видео/аудио с привязкой к единой временной шкале Presentation Time Stamps (PTS). Идентификатор PID потока SCTE-35 объявляется в таблице Program Map Table (PMT), как неотъемлемая часть программы в составе однопрограммного (SPTS) или многопрограммного (MPTS) транспортного потока MPEG-2 TS. Для передачи сообщений SCTE-35 пропускная способность канала MPEG-2 TS должна иметь нескольких кбит/с. дополнительно к суммарной скорости потоков видео/аудио и других данных. Оборудование, которое изменяет состав программ или скорость составляющих ее элементарных потоков видео/аудио, не должно изменять привязку потока SCTE-35 к программе, или нарушать его связь с метками времени PTS. Сегмент «система автоматизации –> система компрессии» может использовать каналы передачи двух видов. Первый вариант – канал с обратной связью через соединение TCP/IP, второй вариант – канал без обратной связи по интерфейсу SDI. В обоих вариантах данные Splice Information Table в этом сегменте форматируются в виде сообщений (запросов) SCTE-104. Правила приема-отправки сообщений SCTE-104, а также укладка данных в них нормируется документом [SCTE 104] в виде прикладного программного интерфейса (API). Оба вида сообщений используются для последовательной передачи данных сплайсинга от системы автоматизации до сплайсера, поэтому и используется термин «Сообщения SCTE-104/35».

1.8. Канал передачи сообщений SCTE-104 с обратной связью Двунаправленный канал связи между системой автоматизации и инжектором (Рис.1-2) дает возможность подтверждения инжектором и кодером приема и обработки сообщений SCTE-104 от системы автоматизации.

В этом решении есть несомненные достоинства, но есть и проблемы реализации. Сообщения SCTE-104/35 содержат данные в бинарном представлении. Текстовые данные, подобные тегам XML, в сообщениях SCTE-104/35 не передаются. Такое ограничение существенно сокращает объем передаваемых данных и требования к полосе пропускания канала передачи. С другой стороны, бинарное представление данных в сообщениях SCTE-104 выдвигает особые требования к сети TCP/IP, связывающей систему автоматизации и систему компрессии. Это должна быть строго приватная сеть, в которой гарантированное время задержки передачи сообщений должно быть существенно меньше длительности ТВ кадра. Для коммуникации рекомендуется использовать стандартный номер порта (сокета), равный 5167. В большинстве реализаций ЦФП и система компрессии находятся на значительном удалении друг от друга и управляются различными операторами, что вносит технические трудности создания надежного TCP/IP соединения между ними через сети Virtual Private Network (VPN).

1.9. Канал передачи сообщений SCTE-104 без обратной связи Однонаправленный интерфейс SDI является обязательным каналом связи между ЦФП и системой компрессии, поэтому и логично использовать этот канал для передачи сообщений

Рис.1-2. Формирование сообщений SCTE-104 в канале с обратной связью

Page 5: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

5

SCTE-104. Принято передавать сообщения SCTE-104 как дополнительные данные в интервале VANC (Vertical ANCillary) сигнала SDI согласно стандарту [SMPTE 291M]. Детали укладки (mapping) данных сообщения SCTE-104 в пакеты VANC регламентируются в [SMPTE RP2010]. Используются пакеты ANC типа 2, где идентификаторами (ID) полезной нагрузки пакета является пара Data ID (DID) и Secondary Data ID (SDID). Значения DID=41h и SDID=07h для пакетов VANC указывают на передачу в этих пакетах сообщения SCTE-104. Пакет VANC с данными сообщения SCTE-104 в принципе может размещаться в любой строке, находящейся вне активной части кадра. Однако рекомендуется размещать данные VANC в потоке данных канала Y во второй строке после точки переключения (Switch point), определяемой в рекомендации [SMPTE RP168]. В большинстве случаев используется 12 строка первого поля для всех стандартов разложения SD/HD SDI. На Рис.1-3 показан однонаправленный (без обратной связи) канал передачи данных SCTE-104 от системы автоматизации к инжектору и кодеру в составе системы компрессии через дополнительное устройство, называемое инсертером SCTE-104. В документе [SCTE 104] для обозначения инсертера используется термин Proxy Device, в документе [SMPTE RP2010] используется термин «инсертер». Задача инсертера - инкапсуляция сообщения SCTE-104 в сигнал SDI. Инсертер управляется от системы автоматизации, имеет входы/выходы SDI, на вход подается сигнал программы вещания. В [SCTE 104] определяется стандартный интерфейс API управления инсертером от системы автоматизации по сети TCP/IP в ЦФП. Сформированные инсертером в составе сигнала SDI сообщения SCTE-104 передаются от системы автоматизации следующему внутрипотоковому устройству до конечного адресата – инжектора в составе системы компрессии. В этом режиме система автоматизации действует без сообщений обратной связи от системы компрессии, по принципу наилучшей возможной работы. Например, сообщения могут отправляться несколько раз, дублируя уведомление об одной и той же операции сплайсинга. На стороне системы компрессии данные сплайсинга из сообщения SCTE-104 переносятся в сообщение SCTE-35 посредством инжектора SCTE-35.

В такой схеме однонаправленный канал передачи SCTE-104/SDI действует между системой автоматизации и инжектором. В то же время между системой автоматизации и инсертером организуется свое взаимодействие, которое также может быть двунаправленным при использовании соединения TCP/IP, RS422 или однонаправленным при управлении инсертером через контакты GPI. Предпочтительным является первый вариант, который реализуется достаточно просто, поскольку система автоматизации и инсертер находятся в составе одного ЦФП. Отсутствие обратной связи между системой автоматизации и инжектором компенсируется относительной простотой построения тракта доставки сообщения SCTE-104 на основе стандартных аппаратных компонентов с интерфейсами SDI. Оборудование, не изменяющее содержания сигнала SDI (коммутаторы, распределители) практически всегда пропускает данные VANC. Устройства, изменяющие содержание сигнала SDI (задержка, микширование сигналов),

Рис.1-3. Формирование сообщений SCTE-104 в канале без обратной связи

Page 6: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

6

должны корректно пропускать данные VANC с входа на выход. При корректном прохождении сигнала через тракты HD/SD SDI метки SCTE-104 сохраняют привязку к тому кадру, в который они были первоначально вставлены.

2. Управление вставкой программ с использованием сообщений SCTE104/35 2.1. Виды команд в сообщениях SCTE-35 Сообщение SCTE-35 может содержать одну из шести возможных команд. Две команды - Splice_schedule() и Splice_insert() предназначены для передачи информации об одном или нескольких предстоящих событиях сплайсинга. Наличие скобок в обозначении команды означает, что в ее составе передается набор данных, определяемых в спецификациях SCTE для каждой команды. Определены четыре вида вспомогательных команд: Splice_null(), Bandwidth reservation(), Time_signal(), Private_command(). Команда Splice_null() не передает каких либо данных и используется для проверки отклика от устройств – получателей сообщений. Команда Bandwidth reservation() используется для передачи системе компрессии запроса на выделение дополнительной полосы пропускания, которая будет использоваться для передачи элементарного PID-потока с сообщениями SCTE-35. Команда Time_signal() используется для передачи меток точного времени, на основании которых устройства-получатели команды могут синхронизировать выполнение своих действий с устройствами-отправителями команд. Команда Private_command() может использоваться для передачи других данных, не оговоренных в спецификациях SCTE-104/35.

2.2. Виды команд в сообщениях SCTE-104 Сообщение SCTE-104 принципиально может содержать до 216 различных команд, однако из этого множества реально используются только несколько десятков. Конкретный список реально используемых команд различается для двух типов сообщений. Первый тип – сообщение, которое может содержать только одну команду (Single Operation Message). Второй тип – сообщение, которое может содержать одну и более команд (Multiple Operation Message). На практике в основном используются сообщения второго типа.

2.3. Сообщения SCTE-104 типа Multiple Operation Message На Рис.2-1 показаны поля сообщений SCTE-104 типа Multiple Operation Message.

Сообщение состоит из двух частей. Первая часть – набор полей заголовка Multiple Operation Message, этот заголовок содержит общие для всех команд поля. Вторая часть – набор полей

Рис.2-1. Поля данных сообщений SCTE-104 и SCTE-35

Page 7: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

7

передаваемой в сообщении команды. Здесь для примера даны поля двух команд – Schedule_definition_request и Splice_request. В составе заголовка Multiple Operation Message находятся поля: Reserved, всегда устанавливается в значение FFFFh. Message Size содержит размер всего сообщения в байтах. Protocol Version для актуальных реализаций устанавливается в 0. В будущих реализациях с иной укладкой в сообщение полезной нагрузки будут использоваться иные значения. AS_index идентифицирует для инжектора систему автоматизации, которая является источником сообщения SCTE-104. В то же время основная и резервная системы автоматизации, работающие на один программный канал (один инжектор), должны иметь общий индекс, но в каждый момент времени на связи должна находиться (быть активной) только одна из них. Нулевое значение игнорируется. Message_number идентифицирует каждое отдельное сообщение SCTE-104. В то же время, если несколько повторяющихся сообщений имеют общее содержание, они должны иметь один и тот же номер. Для последовательных различающихся сообщений используется инкрементируемое по модулю 256 значение Message_number. DPI_PID_index несет информацию об идентификаторе PID пакетов MPEG-2 TS, в которых система автоматизации планирует передавать элементарный поток сообщений SCTE-35. Этот индекс используется, если в составе одной программы передаются несколько потоков сообщений SCTE-35, каждый из которых формируется своим выделенным инжектором. Другой вариант использования – адресация сообщений от системы автоматизации одному из нескольких инжекторов, использующих общую линию SDI для связи с системой автоматизации через один инсертер. Нулевое значение игнорируется. SCTE-35 Protocol Version предназначены для использования в будущих реализациях, когда актуальная нулевая версия получит дальнейшее развитие. Timestamp() содержит значение времени когда инжектором должны обрабатываться поступающие в данном сообщении команды. Это режим отложенной (deferred) обработки команд в инжекторе. В таком режиме время в системе автоматизации и в инжекторе должно быть общим с точностью до нескольких миллисекунд. Если в сообщении SCTE-104 содержится несколько команд, то они должны обрабатываться инжектором в указанное время начиная с первой команды и далее в порядке расположения команд в теле сообщения. Поле Timestamp() имеет различную длительность в зависимости от варианта передачи данных. Возможны три варианта форматирования времени в этом поле: время UTC с точностью до микросекунд (отсчитывается от 0 часов 6 января 1980 г.), тайм-код VITC HH:MM:SS:FF, номер и активный фронт триггера GPI, который инициировал передачу сообщения. В режиме немедленного выполнения (immediate mode) поле Timestamp() устанавливается равным 0, команда обрабатывается инжектором без задержки, синхронизация времени между системой автоматизации и инжектором не требуется. Такой вариант рекомендуется использовать при формировании сообщений SCTE-104 в составе сигнала SDI, тогда данные SCTE-104 помещаются инсертером в пакеты VANC ближайшего кадра. Размер поля Timestamp() в этом случае равен 1 байту. Num_ops определяет количество команд, которое передается в данном сообщении SCTE-104 в виде блоков. В каждый блок данных входят поля Op_ID, Data_length, Data() передаваемой в этом блоке команды. Для передачи одной команды используется значение Num_ops=1. Важно отметить, что каждая из команд в одном сообщении SCTE-104 преобразуется инжектором в отдельное сообщение SCTE-35, всегда содержащее только одну команду. Op_ID идентифицирует команду, которая передается в блоке данных. Связь идентификатора и команды определена в [SCTE 104]. В данном примере значение Op_ID=0101 указывает на передачу данных команды splice_request_data(), Op_ID=010Е указывает на передачу данных команды schedule_definition_data(). Data_length указывает на общее количество байтов в команде. Data() содержит данные (параметры) команды, определенной ранее в поле Op_ID.

Page 8: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

8

2.4. Команды управления сплайсингом Среди множества возможных команд в сообщениях SCTE-104/35 выделяются две пары взаимосвязанных команд SCTE-104 и SCTE-35, проходящих по всей цепи «система автоматизации –> система компрессии -> сплайсер». Обе пары команд передается в широковещательном (broadcast) режиме для всех ЦРП в составе сети распространения программного сигнала ЦФП. Спецификация [SCTE 35] описывает варианты шифрования сообщений SCTE-35, которые могут декодироваться на приемной стороне при наличии ключа. Однако по данным [SCTE 67] шифрование этих сообщений на практике не используется. Команда SCTE-104 Schedule_definition_request() преобразуется инжектором в команду SCTE-35 Splice_schedule(), обе переносят уведомляющую информацию о расписании предстоящего события сплайсинга. Команда SCTE-104 Schedule_definition_request() обычно следует за командой start_schedule_download request(), которая подготавливает инжектор к приему относительно большой (до 4096 байтов) порции данных, содержащихся в последующих сообщениях Schedule_definition_request(). Команда SCTE-104 Splice_request() преобразуется инжектором в команду SCTE-35 Splice_insert(). Последовательная передача этих команд обеспечивает управление сплайсером от системы автоматизации при переключении между основным каналом и каналом ввода. Практика работы систем DPI, приведенная в [SCTE 67], указывает на преобладающее использование пары команд Splice_request() и Splice_insert() для управления сплайсингом. По этой причине далее более подробно анализируется состав полей данных именно этих команд. Поля, выделенные одинаковым цветом в таблицах данных Schedule_definition_request() и Splice_request(), обладают идентичным содержанием. Специфическими для команды Schedule_definition_request() являются поля Spice_schedule_command и Time(). Первое поле определяет вид точки сплайсинга – вход или выход, значение Spice_schedule_command=5 означает отмену ранее переданных данных. Поле Time() содержит время в формате UTC, на которое планируется событие сплайсинга.

2.5. Поля данных команды Splice_request() Splice_insert_type определяет тип запроса на выполнение сплайсинга. Запросы SpliceStart_normal (Splice_insert_type=1) и SpliceEnd_normal (Splice_insert_type=3) определяют команды «нормального» старта и окончания рекламного брейка, когда соответствующее событие сплайсинга должно произойти через интервал времени pre-roll_time. Значение pre-roll_time передается в соответствующем поле этой же команды. Запросы SpliceStart_immediate (Splice_insert_type=2) и SpliceEnd_immediate (Splice_insert_type=4) определяют команды «немедленного» старта и окончания рекламного брейка. В таком режиме значение поля pre-roll_time игнорируется или передается равным 0. Запросы «немедленного» действия не рекомендуются к использованию, поскольку могут приводить к нарушению условий бесшовного сплайсинга. Значение Splice_insert_type=5 означает запрос на отмену предыдущего запроса SpliceStart_normal. Splice_event_id содержит уникальный идентификатор события сплайсинга. Допускается использовать один и тот же идентификатор для точки входа и точки выхода брейка. 32-битное поле позволяет использовать этот идентификатор для передачи дополнительной информации о рекламном брейке. Unique_program_id служит для идентификации региональным вещателем программы центральной станции, во время которой должно произойти событие сплайсинга. Нулевое значение игнорируется. Pre-roll_time указывает в миллисекундах интервал времени от выдачи сообщения splice_request до выполнения события сплайсинга. Минимальное рекомендуемое значение для «нормальных» команд сплайсинга составляет 4 секунды. Возможно использовать и другие значения pre-roll_time, в том числе различные значения для событий SpliceStart_normal и SpliceEnd_normal, относящихся к одному рекламному брейку. Для «немедленных» команд сплайсинга значение pre-roll_time либо равно 0, либо игнорируется. Если для одного события сплайсинга с единым Splice_event_id последовательно формируются несколько сообщений, то в каждом из следующих за первым сообщениях должно содержаться свое уменьшенное значение pre-roll_time. Если

Page 9: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

9

между несколькими командами на один переход возникает рассогласование между значениями pre-roll_time, то учитывается значение pre-roll_time из последнего принятого сообщения. Break_duration указывает в десятых долях секунды длительность рекламного брейка, инициируемого на выполнение по данной команде. Обычная практика заключается в отправке пары сообщений: первое на старт и второе - на окончание рекламного брейка при нулевых значениях Break_duration и Auto_return_flag. Передача в составе сообщения истинного значения Break_duration вместе с ненулевым значением Auto_return_flag указывает на автоматический возврат к программе центральной станции по истечению времени рекламного брейка без отправки команды SpliceEnd_normal. Рекомендуется передавать в составе сообщения истинное значение Break_duration и при нулевом Auto_return_flag для аварийного возврата к программе центральной станции при неполучении или ошибке в приеме сообщения SpliceEnd_normal. Avail_num идентифицирует рекламный слот внутри программы с идентификатором Unique_program_id. Каждый последующий слот должен иметь инкрементированный Avail_num. Нулевое значение игнорируется. Avails_expected указывает на общее количество слотов внутри программы с идентификатором Unique_program_id. Обычно Avail_num меньше или равен Avails_expected. Для программ, хронометраж которых заранее точно не известен (прямые трансляции спортивных событий), значение Avail_num может быть превышать Avails_expected в интервале «перебора» запланированного хронометража программы. Auto_return_flag передает информацию о планируемом режиме выхода из рекламного брейка. Ненулевое значение совместно с полем Break_duration указывает на автоматический возврат к программе центральной станции по истечению времени рекламного брейка без отправки команды SpliceEnd_normal. Нулевое значение указывает на ожидание команды с сообщением SpliceEnd_normal.

2.6. Передача данных между командами SCTE-104 Splice_request и SCTE-35 Splice_insert На Рис.2-1 показана та часть данных сообщения SCTE-35 Splice_insert, которая формируется на основе информации, принятой инжектором в составе сообщения SCTE-104 Splice_request. Поля Splice_event_id, Unique_program_id, Avail_num, Avails_expected переносятся из байтового (SCTE-104) в битовое (SCTE-35) представление без изменений. Данные Pre-roll_time переходят в два поля – Time_specified_flag и Pre-roll_time, при этом мера времени меняется от счета миллисекунд к счету отметок времени PTS. Битовое поле Time_specified_flag, равное 1, указывает на последующую передачу данных Pre-roll, нулевой флаг указывает на отсутствие передачи данных Pre-roll. При этом значение Pre-roll_time в сообщении SCTE-35 практически всегда будет отличаться от этого же значения в сообщении SCTE-104 в большую сторону за счет учета задержки при кодировании. Данные Break_duration и Auto_return_flag переходят в поля Auto_return и Duration, при этом мера времени меняется от счета десятых долей секунды к счету отметок времени PTS. Единичное значение флагов указывает на передачу длительности брейка и планирование его окончания в ЦРП по истечению времени Duration без дополнительной команды от системы автоматизации. Нулевое значение флагов означает ожидание команды на окончание брейка от системы автоматизации. В этом случае значение Duration может использоваться для дублирования возврата к сигналу центральной станции, если по каким-либо причинам команда на окончание брейка не поступит до истечения Duration. Единичное значение битового поля Duration_flag указывает на присутствие в сообщении SCTE-35 поля Duration. Битовый флаг Out_of_network_indicator (OON) сообщает о виде точки сплайсинга на основе данных Splice_insert_type из сообщения SCTE-104. Единичное значение указывает на точку Splice In, нулевое значение – на точку Splice Out. Битовый флаг Splice_immediate_flag при нулевом значении указывает на нормальное планирование сплайсинга с использованием времени pre-roll. Если этот флаг равен единице, то требуется немедленное (Immediate Mode) выполнение сплайсинга, при этом поля Time_specified_flag и Pre-roll_time в сообщении SCTE-35 не передаются.

Page 10: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

10

Битовый флаг Splice_event_cancel_indicator при единичном значении отменяет ранее запланированное событие сплайсинга с тем же идентификатором Splice_event_id. Битовый флаг Program_splice_flag передается равным 1, если во входной точке сплайсинга планируется переключать все PID-компоненты транспортного потока. Это режим Program Splice Mode. Нулевое значение флага указывает на переключение только части PID-компонентов транспортного потока в режиме Component Splice Mode. В таком случае в составе сообщений SCTE-104/35 дополнительно к показанным на Рис.2-1 полям передается количество переключаемых компонентов Component Count и за ним в цикле указывается PID переключаемого компонента (Component tag) и время pre-roll для переключения каждого компонента. Различное форматирование одних и тех же данных сплайсинга в сообщениях SCTE-104 и SCTE-35 не препятствует их прямому и обратному преобразованию без потерь информации. Однако представление данных сплайсинга чаще используется именно в формате полей Splice_request, как более удобное для «человеческого» восприятия.

2.7. Взаимодействие компонентов системы DPI при выполнении брейка На Рис.2-2 показано взаимодействие компонентов системы DPI на примере выполнения старта и окончания брейка в нормальном режиме. Предполагается, что система автоматизации и инсертер взаимодействуют по двунаправленному соединению TCP/IP в локальной сети ЦФП, сплайсер и рекламный сервер также взаимодействуют по соединению TCP/IP, но уже в пределах локальной сети ЦРП. В ответ на инициирующее сообщение адресат отвечает подтверждающим сообщением. Взаимодействия между инсертером и инжектором, а также между инжектором и сплайсером – однонаправленные. В первом случае транспорт сообщений происходит по интерфейсу SDI, во втором случае – по интерфейсу MPEG-2 TS.

Сессия вставки регионального брейка начинается с отправки системой автоматизации сообщения Splice_request с параметром SpliceStart Normal. Инсертер вставляет данные Splice_request в пакет VANC ближайшего кадра. Если поле Timestamp() содержит ненулевое значение времени UTC, то инжектор именно в это время должен отправить сообщение Splice_insert, в котором значение Out_of_network_indicator (OON) равно 1. Если же поле Timestamp() равно 0, то инжектор отправляет сообщение Splice_insert немедленно. На диаграмме Рис.2-2 предполагается, что задержка сообщений TCP/IP существенно меньше критической для систем DPI длительности одного кадра. Задержки в интерфейсах SDI и MPEG-2 TS могут превышать это время, причем существенно. Спецификации SCTE-104/35 разработаны именно таким образом, чтобы нивелировать влияние задержек в интерфейсах SDI MPEG-2 TS на кадровую точность выполнения вставки брейков. Сообщения SCTE-104/35 претерпевают такие же задержки, что и несущий их сигнал – SDI или MPEG-2 TS. Время задержки не имеет значения, вставка регионального брейка произойдет корректно даже при задержке сигнала на несколько

Рис.2-2. Диаграмма взаимодействия компонентов системы DPI при нормальном старте и завершении регионального брейка

Page 11: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

11

часов. В тракте передачи потока MPEG-2 TS между центром компрессии и ЦРП задержки могут быть не только порядка нескольких секунд, но и иметь джиттер. Чтобы максимально исключить влияние задержки и лжиттера на точность вставки, время pre-roll в сообщении отсчитывается в формате времени PTS. Обрывы PTS будут влиять на точность вставки, только если они произошли внутри относительно короткого интервала времени pre-roll. Обмен сообщениями между сплайсером и рекламным сервером (помечены *) нормируется в документе [SCTE 30]. Сразу же после приема Splice_insert (OON=1) сплайсер отправляет на рекламный сервер запрос Cue_request на воспроизведение рекламного блока. В это сообщение переходят все данные сплайсинга из Splice_insert (OON=1), поэтому сервер получает всю необходимую информацию, в том числе и время pre-roll. Идентифицировать требуемый файл или плей-лист рекламный сервер может, например, по значению Splice_Event_ID. Не более, чем за 3 секунды до начала брейка сервер извещает сплайсер о своей готовности сообщением Splice_request. Через интервал времени pre-roll сервер посылает поток MPEG- 2 TS на канал ввода сплайсера, сплайсер переключает потоки и уведомляет об этом сервер отправкой сообщения Splice_complete. Выход из брейка в нормальном режиме происходит по такой же схеме взаимодействия. Отличия в том, что сообщение Splice_request от системы автоматизации отправляется с параметром SpliceEnd Normal, в Splice_insert поле OON=0, сплайсер отправляет в адрес сервер только одно сообщение Splice_complete об окончании брейка. Сервер заканчивает воспроизведение регионального брейка по его запланированному хронометражу. При выполнении старта или окончания брейка в режиме Immediate время pre-roll не учитывается, сплайсинг выполняется в ближайшей возможной точке переключения потоков. Для старта брейка в таком режиме сервер должен обеспечивать минимально возможное время подготовки.

3. Методы формирования и обработки сообщений SCTE-104 3.1. Система вещания на основе отдельных компонентов Основным звеном формирования и обработки сообщений SCTE-104 является Центр Формирования Программ (ЦФП). На Рис.3-1 показан вариант построения системы вещания из отдельных аппаратных и программно-аппаратных компонентов. Здесь аппаратные компоненты – аппаратно-студийный блок, тракт сигналов SDI, инсертеры SCTE-104, коммутатор резерва SDI. Программно-аппаратные компоненты – видеосервер и система автоматизации. Наличие в схеме аппаратно-студийного блока отражает функционал вещания собственных программ прямого эфира с использованием входящего в его состав эфирного микшера.

Система автоматизации формирует выходную программу в соответствие с загруженным в нее эфирным плей-листом. Выходной программный сигнал формируется на двух равноценных выходах тракта сигналов SDI. В состав тракта входят коммутационное оборудование, блоки ввода титров, графики, логотипов, другое оборудование. Наличие двух выходов тракта не является обязательным, но позволяет организовать резервирование протяженных линий доставки сигнала в сетевой центр вещания. Здесь на приемной стороне использован коммутатор резерва

Рис.3-1. Компоненты системы вещания с формированием меток SCTE-104

Page 12: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

12

для автоматического или ручного выбора линии связи по обычным критериям качества сигнала SDI, что является одним из достоинств использования сообщений SCTE-104 для управления вставкой программ. Компоненты системы вещания должны использовать стандартизированные интерфейсы и протоколы управления. При использовании частных (фирменных) протоколов взаимодействие компонентов проходит через программные модули Middleware (Промежуточное программное обеспечение - ППО). Эти положения применимы и к формированию сообщений SCTE-104. Источниками сигналов SDI с сообщениями SCTE-104 в виде пакетов VANC в приведенной схеме могут быть видеосервер и приемники внешних линий. Инсертеры вставляют пакеты с сообщениями SCTE-104 в проходящий сигнал SDI, получая данные для вставки от системы автоматизации или от панелей ручного управления. Спецификации SCTE рекомендуют формирование нескольких, по меньшей мере трех сообщений SCTE-104/35 для каждого события сплайсинга с временем упреждения (pre-roll) порядка 4,8 и 12 секунд.

3.2. Аппаратные инсертеры пакетов VANC SCTE-104 в сигнал SDI Аппаратные (Hardware) инсертеры вставки пакетов VANC SCTE-104 в сигналы 3G/HD/SD SDI в настоящее время выполняются в виде модулей, совместимых с общим корпусом и системой управления. В части специфики работы с сообщениями SCTE-104 инсертеры можно разделить на две группы. К первой группе относятся инсертеры данных VANC общего назначения. Среди этих данных - идентификатор формата кадра (Active Format Description - AFD), звуковые метаданные Dolby, тайм-код VITC, скрытые субтитры (Closed Captions), а также произвольные данные, задаваемые идентификаторами пакета VANC DID/SDID. Такие инсертеры формируют пакеты SCTE-104 на общих основаниях, без учета специфики их применения. Примеры таких инсертеров приведены первой части Табл.1.

Табл. 1. Некоторые модели аппаратных инсертеров VANC SCTE-104 в сигнал SDI Инсертеры VANC общего назначения

Модель Наименование Интерфейсы данных

ПО управления Сайт производителя

7721DE4-HD HD/SD-SDI Quad Data Embedder 6xGPI VistaLINK www.evertz.com

VAC-100 VANC Data Authoring Inserter 8хGPI DashBoard www.rossvideo.com

9950-EMDE-ANC 3G/HD/SD-SDI Ancillary Data Embedder/De-Embedder

4xRS485 UDP/TCP IP DashBoard www.cobaltdigital.com

XVP-3901-DPI 3G/HD/SD DPI Inserter/ Extractor with Frame Sync

6хGPI RS422 iControl www.grasswalley.com

Инсертеры VANC с поддержкой API SCTE-104

A1450 SCTE-104 Inserter Card 4хGPI RS232 TCP/IP

DashBoard www.eegent.com

TES-8643 3G/HD/SD VANC Processor 8хGPI

RS232/422 TCP/IP

DashBoard www.rossvideo.com

DMDP6802+ Dual-Channel Metadata and Data Processing Module

4xRS233/422 16хGPI TCP/IP

Magellan CCS

Navigator

www.imaginecommunications.com

Вставка пакетов данных может инициироваться по входному сигналу GPI, при этом содержание пакета VANC (payload) определяется предустановками (пресетами), которые предварительно задаются пользователем при конфигурировании устройства. Каждый пресет определяет уникальное содержание пакета VANC, отправляемого по срабатыванию ассоциированного с ним входа GPI. Для сообщений SCTE-104 пользователь должен заполнить поля пакета VANC согласно [RP 2010], указать номер строки, сигнал Y или C для вставки пакета.

Page 13: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

13

Конфигурирование пресетов осуществляется через управляющее программное обеспечение, которое может быть специализированным для изделий конкретной фирмы (Vistalink, iControl), либо универсальным (Dashboard для модулей совместимых с платформой OpenGear). Система автоматизации управляет инсертером через контакты GPI. К примеру, 5 входов GPI позволяют выдать все виды сообщений SCTE-104 splice_request, включая Normal/Immediate Start/End и Cancel. Генерация нескольких сообщений SCTE-104 Splice request с указанием на один и тот же слот (с общим значением Splice_event_ID) в ответ на повторные запросы по одному входу GPI невозможна, поскольку в каждом последующем сообщении время pre-roll_time должно иметь переменное значение. Если инсертер поддерживает интерфейс приема данных RS или TCP/IP/Ethernet, то система автоматизации может инициировать вставку пакета VANC SCTE-104 с содержанием, транслированным по этому интерфейсу в формате спецификации [RP 2010]. Здесь возможна отправка повторных сообщений SCTE-104 Splice request для одного слота, поскольку система автоматизации может сформировать верные значения pre-roll_time для каждого последующего сообщения. Ко второй группе относятся инсертеры, поддерживающие формирование сообщений SCTE-104 на основе протокола API [SCTE 104]. Примеры таких устройств приведены во второй части Табл.1. Для инсертеров этой группы возможны три режима работы. Первый режим – вставка пакетов по срабатыванию входного сигнала GPI. Содержание пакета VANC определяется пресетом для каждого входа GPI, но в пресеты записываются поля данных сообщения SCTE-104, а не байтовая структура пакета [RP 2010], как в инсертерах первой группы. Пример конфигурирования показан на Рис.3-2, где в пользовательском интерфейсе управляющего программного обеспечения задаются 8 полей данных сообщения Splice request для каждого из входов GPI. Отличие модуля А1450 в том, что имеется дополнительная установка количества и интервала повторений сообщений SCTE-104, поэтому система автоматизации может по одному сигналу GPI инициировать передачу серии корректных по значению pre-roll_time запросов Splice request. Второй режим – вставка пакетов в ответ на сообщение Multiple Operation Message от системы автоматизации в соответствие с протоколом API SCTE-104 по соединению TCP/IP с портом 5167, или по последовательному порту RS232/422. Принятое от системы автоматизации сообщение делится на несколько пакетов, если размер сообщения превышает 254 байта. Модуль TES-8643 может работать либо в роли сервера, ожидающего прихода сообщений SCTE, либо в роли клиента, инициирующего взаимодействие с системой автоматизации. Третий режим – совместное использование интерфейсов передачи данных и входов GPI инсертера при управлении от системы автоматизации. Через порт данных передается содержание пакета, по сигналу GPI пакет вставляется в следующий кадр. Так обеспечивается более точный тайминг вставки, не зависящий от времени передачи данных SCTE-104 через последовательные интерфейсы.

3.3. Видеосервер как источник сигнала с сообщением SCTE-104 Видеосервер может формировать сигнал SDI с сообщением SCTE-104, данные которого сохраняются в воспроизводимом файле. К числу файловых контейнеров, пригодных для этой цели, относятся в частности типы файлов .TS, и .MXF. Файл типа .TS сохраняет транспортный поток «как есть», в том числе и PID-потоки данных цифровой вставки SCTE-35. Файл .MXF в соответствие со стандартом [SMPTE 436M] использует отдельные треки ANC Essence для сохранения данных VANC по их параметрам DID/SDID, для пакетов SCTE-104 применяются

Рис.3-2. Фрагмент окна конфигурирования входа GPI для формирования сообщения SCTE-104. (Программная среда Dashboard, модуль Rossvideo TES-8643)

Page 14: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

14

стандартизированные значения DID=41h и SDID=07h. Данные VANC сохраняются для всех видов компрессии видео. Используется покадровая упаковка видео (Frame Wrapped), трек данных VANC ассоциируется через индексные таблицы доступа именно с теми кадрами и с той строкой в нем, где должны присутствовать пакеты VANC. Видеосервер должен обладать функциями переноса данных сообщений SCTE-104/35 из файлов в пакеты VANC сигнала SDI. Файлы с данными сообщений могут импортироваться в сервер, а также для определенных моделей видеосерверов создаваться при записи в файлы входных сигналов SDI с этими данными. К числу таких моделей относятся, например, видеосерверы семейства SL Neo (www.skylarkrussia.tv). Запись и воспроизведение файлов с данными сообщений SCTE-104/35 используется при задержке вещания, или при повторном воспроизведении записанного материала, в котором уже присутствуют фрагменты со слотами для вставки программ в региональных центрах ретрансляции.

3.4. Генерация сообщений SCTE по плей-листу системы автоматизации Система автоматизации управляет последовательностью выдачи программных материалов через коммутатор тракта SDI от внешних линий и с видеосервера согласно загруженному плей-листу, который поступает из службы трафика. При трансляции сигнала с внешних линий в плей-листе могут содержаться указания на генерацию сообщений SCTE-104 с привязкой к абсолютному времени. При воспроизведении с видеосервера принято ассоциировать генерацию сообщений SCTE-104 с эфирными событиями плей-листа, которые указывают на файловые материалы (клипы) из медиабазы сервера. Такими материалами обычно являются начальная и конечная отбивки регионального рекламного окна (слота). Начальная отбивка ассоциируется с сообщением о старте слота, конечная отбивка – с сообщением об окончании слота. Иногда отбивки могут отсутствовать, тогда сообщения ассоциируются с соседними по отношению к слоту фрагментами передач основного ряда. В любом варианте генерация сообщений происходит в относительном времени, это время отсчитывается от конца предшествующего слоту фрагмента для старта регионального брейка и от начала последующего фрагмента для окончания регионального брейка. Поля данных формируемых сообщений могут однозначно связываться с каждым клипом (равноценно воспроизведению сообщений из записанных файлов), или иметь переменный состав для одного и того же клипа в зависимости от его положения в плей-листе. В таком случае данные для формирования сообщений переходят из определенных колонок плей-листа, и могут быть переменными для каждого эфирного события, даже если оно ссылается на один и тот же клип. В схеме Рис.3-1 предусмотрено использование внешних аппаратных инсертеров, поэтому в этом варианте система автоматизации передает им данные по протоколу API SCTE-104. Для примера на Рис.3-3 даны конфигурационные установки для генерации сообщения SCTE-104 в программном модуле автоматизации вещания SL Neo компании Skylark. Здесь строка плей-листа указывает на воспроизведение начальной отбивки слота с именем Title:Head1 хронометражом 15 секунд со стартом в момент времени Start Time, которое может отличаться от заранее запланированного. Но независимо от фактического времени старта сообщение будет сформировано с привязкой к концу отбивки, поскольку установлен флажок Trigger at end when primary match. Возможно задать условие генерации сообщения с привязкой по времени к ключевым кадрам (Keypoint) клипа в медиабазе. Условия генерации сообщения (Action condition) – тип клипа должен иметь условно выбранное значение Type:AD_Start независимо от имени клипа. Требуемые поля данных (параметры) сообщения устанавливаются в окне Action parameters. Здесь есть параметры с прямо указанными численными значениями, например значение pre-roll_time задает генерацию метки за 4 секунды до окончания воспроизведения клипа Head1. Некоторые параметры ссылаются на заданные колонки плей-листа и получат следующие значения - Splice_event_id:12345, Avail_num:2, Avails_expected:5.

Page 15: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

15

3.5. Генерация сообщений по команде оператора Генерация сообщения SCTE-104 может инициироваться оператором в передачах прямого эфира, и в других случаях, когда заранее не известно расписание слотов для региональных брейков. На Рис.3-1 показаны точки возможного подключения для этих целей панелей ручного управления. Панель ПУ1 подключается к рабочей станции управления эфиром, например по интерфейсу USB. В таком варианте ручное формирование меток через систему автоматизации позволяет логировать действия оператора. Панель ПУ2 подключена непосредственно к инсертерам на выходе сигнального тракта. Территориально эту панель целесообразно размещать в аппаратно-студийном блоке для ввода сообщений в передачи прямого эфира. В ряде моделей эфирных микшеров возможно программирование специальных кнопок для генерации сигналов GPI, подаваемых на инсертеры. Ручная генерация сообщений SCTE-104 возможна и в сетевом центре вещания с использованием дополнительного инсертера и панели ПУ3 в случае технических перебоев или объявлений о чрезвычайных ситуациях. Оператор может инициировать вставку сообщений нормального или немедленного (Immediate Mode) старта слота. Для корректного выполнения немедленного старта рекомендуется устанавливать инсертер на выходе тракта SDI с фиксированной задержкой сигнала на время Td (несколько секунд) относительно точки контроля изображения оператором. Тогда сообщение может быть отправлено в режиме нормального старта слота с временем pre-roll, равным Td. Фирма DNF Control (www.dnfcontrols.com) выпускает специализированный блок управления GTP-32, в котором нажатие кнопок оператором инициирует взаимодействие с инсертером по протоколу API SCTE-104. Здесь в ответ на нажатия кнопок формируются сообщения SCTE-104 с заранее предустановленными через WEB-интерфейс параметрами. Дополнительно может использоваться сигнал GPI для синхронной вставки сообщения в несколько инсертеров одновременно.

3.6. Требования к тракту SDI для корректного прохождения сообщений SCTE-104 В схеме Рис.3-1 сигналы SDI с пакетами VANC сообщений SCTE-104 от видеосервера и от эфирного микшера проходят через сигнальный тракт, что налагает ряд специфических требований. Все компоненты тракта должны пропускать пакеты VANC в составе сигнала. Синхронизаторы сигналов могут пропускать или дублировать кадры в видеосигнале от несинхронных источников, что может приводить к потере или повторению пакетов VANC в смежных кадрах. В наилучшем варианте синхронизатор должен изменять время pre-roll в поле данных на интервал времени кадра при перемещении пакета между смежными кадрами. Рекомендуется вычеркивать один из повторяющихся в смежных кадрах пакетов SCTE-104. Во избежание подобных проблем используется повторение с интервалом в несколько секунд сообщений, ссылающихся на общее событие сплайсинга, а аппаратные инсертеры обычно устанавливаются на выходе сигнального тракта

Рис.3-3. Задание параметров сообщения SCTE-104 через плей-лист

Page 16: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

16

На практике имеет место каскадное включение устройств, формирующих пакеты VANC SCTE-104. На схеме Рис.3-1 сигнал SDI, подаваемый к системе компрессии, может содержать пакеты VANC от трех устройств, поэтому инсертеры должны обладать функциями обработки сообщений SCTE-104 в составе входных сигналов SDI. Обработка может заключаться в вычеркивании входных пакетов, объединении нескольких сообщений в один пакет Multiple Operation Message, перемещении пакета в свободный кадр с соответствующим изменением времени pre-roll. Операции обработки требуют фильтрации данных в полях входящих сообщений, в частности в поле Splice_event_ID. Спецификация [SCTE 67] выделяет 4 старших бита этого поля для передачи информации об источнике сообщения Event Source в виде номера источника в диапазоне значений от 0 до 15. Значение Event Source=0 резервируется для меток, записанных в исходном материале. Значение Event Source=4 относится к сообщениям, генерируемым системой автоматизации. Значения 6 и 12 относятся к командам ручной генерации и к командам региональной системы автоматизации соответственно. Остальные 28 бит используется для нумерации события сплайсинга от одного источника. Возможно также использование поля DPI_PID_Index для идентификации источника сообщения SCTE-104 в Центре формирования программ и в сетевом центре вещания. При этом следует учитывать, что это поле данных не переносится в сообщение SCTE-35, поэтому не может использоваться в региональном центре вещания.

3.7. Контроль сообщений SCTE-104 в пакетах VANC сигнала SDI Современные мониторы формы сигналов позволяют контролировать содержание пакетов VANC в составе сигнала SDI. На Рис.3-4 (в пределах поля черного цвета) показан вид пакета VANC реального сообщения SCTE-104 с командой splice_request() на экране монитора формы сигналов Tektronix WFM7120 в режиме анализа данных ANC.

В верхней части экрана выводятся значения DID и SDID, номер строки и поля, в которых передается пакет, общее количество слов данных Data Counter (DC). Для передачи байтовых данных сообщения SCTE-104 используются младшие 8 бит 10-битных слов SDI, при этом 9 бит слова SDI есть бит четности байта данных, а 10 бит – инверсное значение 9 бита. Слово Payload Descriptor формируется инсертером в зависимости от варианта укладки одного сообщения SCTE-104 в один или несколько пакетов VANC. Значение 08 этого слова (биты 1 и 2 равны 0) указывает, что сообщение передается полностью в составе одного пакета, максимальная емкость которого составляет 254 байта. Иные значения битов 1 и 2 в слове Payload Descriptor указывают на первый, промежуточные и последний пакет VANC, в которых последовательно могут передаваться данные «длинного» сообщения SCTE-104. Таких пакетов может быть до 10, и тогда передача всего сообщения потребует такого же количества кадров, поскольку в одном кадре может передаваться только один пакет VANC с данными SCTE-104. Младший бит слова Payload Descriptor устанавливается в 1, если в этом пакете дублируется ранее переданное сообщение. Дублирующая передача одного и того же сообщения может инициироваться как

Рис.3-4 .Вид пакета VANC с данными SCTE-104 на экране монитора формы сигналов

WFM7120

Page 17: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

17

системой автоматизации, так и самим инсертером для повышения надежности доставки сообщения до инжектора SCTE-35. На Рис.3-4 даны поясняющие выноски синего цвета для данных таблицы Multiple Operation Message. В анализируемом сообщении поля AS_index и DPI_PID_index равны 0, что указывает для инжектора, принимающего сообщение, на игнорирование этих полей. Нулевое поле Timestamp означает указание на немедленную трансляцию данных инжектором в сообщение SCTE-35. Задана одна операция (Num_ops=1), тип операции – Splice_request (Op_ID=0101h). Значение Data_length=000Eh (14 в десятичном эквиваленте) указывает, что в последующих 14 байтах будут переданы данные команды Splice_request. Выноски красного цвета отмечают общий набор из 8 полей данных, которые переносятся инжектором из сообщения SCTE-104 в сообщение SCTE-35. Splice_insert_type=1 означает команду на нормальный старт брейка с идентификатором Splice_event_ID=54321. Этот брейк предназначен для размещения внутри программы с идентификатором Unique_program_id=0002 в слоте с номером Avail_num=3 из Avails_expected= 4 запланированных для этой программы слотов. Время подготовки Pre-roll_time составляет 4 секунды, планируемый хронометраж брейка Break_duration – 51,4 секунды. Значение Auto_return=0 указывает, что следует ожидать от системы автоматизации сообщения Splice_request на нормальное (SpliceEnd_normal) окончание брейка.

3.8. Система вещания с использованием серверов CIAB Вычислительные мощности современных компьютеров позволяют развертывать большое количество ресурсоемких программных приложений обработки сигналов в реальном времени на одной аппаратной платформе. В приложении к телевизионному вещанию такие решения получили название Channel-In-A-Box (CIAB). Система вещания с поддержкой DPI на один или несколько каналов может полностью функционировать на одном сервере. На Рис.3-5 показан вариант компоновки системы вещания с резервированием серверов CIAB, работающих в связке с общей медиабазой. Серверы имеют входы-выходы SDI, и если используемые видеоплаты поддерживают передачу данных VANC в составе сигналов SDI, инсертеры сообщений SCTE-104 могут быть реализованы в видео дополнительных программных модулей, работающих под управлением системы автоматизации на единой платформе. В таком варианте все операции генерации и обработки данных сообщений SCTE-104 не выходят за рамки внутреннего механизма обмена информацией между программными компонентами видеосервера. Для интеграции с внешними системами сервер может иметь промежуточное программное обеспечение (Middleware). Компоненты ППО могут быть установлены во внешней системе автоматизации, или в составе программных компонентов видеосервера на его платформе. В настоящее время все ведущие компании мира выпускают модели серверов CIAB с поддержкой функционала генерации и обработки сообщений SCTE-104. В России к таковым компаниям относятся Skylark (www.skylarkrussia.tv), Bramtech (www.bramtech.ru), Softlab (www.softlab.tv).

4. Список источников [SCTE 30] “Digital Program Insertion Splicing API”, Society of Cable Telecommunications Engineers (SCTE), 2009. [SCTE 35] “Digital Program Insertion Cueing Message for Cable”, Society of Cable Telecommunications Engineers (SCTE), 2013.

Рис.3-5.Система вещания на основе серверов CIAB

Page 18: Использование меток SCTE-104/35 в системах цифровой ...wiki.skylark.ru/files/scte/SCTE_in_program_insertions.pdf · Использование меток

18

[SCTE 67] “Recommended Practice for SCTE 35 Digital Program Insertion Cueing Message for Cable”, Society of Cable Telecommunications Engineers (SCTE), 2014. [SCTE 104] “Automation System to Compression System Communications Applications Program Interface (API)”, Society of Cable Telecommunications Engineers (SCTE), 2013. [SMPTE RP168] “Definition of Vertical Interval Switching Point for Synchronous Video Switching”, Society of Motion Picture and Television Engineers, 2009. [SMPTE 291] “Ancillary Data Packet and Space Formatting”, Society of Motion Picture and Television Engineers, 2010. [SMPTE 436M] “MXF Mappings for VBI Lines and Ancillary Data Packets”, 2007. [SMPTE RP 2010] “Vertical Ancillary Data Mapping of ANSI/SCTE 104 Messages”, Society of Motion Picture and Television Engineers, 2007.