Использование меток SCTE-104/35 в системах цифровой вставки программ. Часть 5. Применение меток SCTE для вставки региональных программ

Добавлено 10 апреля 2018 в 07:18

Современные региональные центры ретрансляции программ (ЦРП) строятся как многоканальные системы класса MVPD (Multichannel Video Programming Distributor – многоканальный дистрибутор видеопрограмм), где общий массив регионального контента используется для вставки в программы от различных центров формирования программ (ЦФП). Каждый ЦРП, как правило, характеризуется уникальным набором аппаратно-программных компонентов, который находится в постоянном совершенствовании вслед за глобальными трендами в стратегиях доставки аудиовизуального контента и расширением спектра программно-аппаратных инструментов его обработки.

В ЦРП для каждого канала ретрансляции должны выполняться три базовые функции: прием и декодирование входящих сообщений SCTE-104/35; сплайсинг потоков основной и региональной программ; синхронизация брейков в сервере воспроизведения региональных программ.

Прием и декодирование входящих сообщений SCTE-104/35

Для этих целей существуют разнообразные программные и аппаратные средства от различных производителей. Например, аппаратный модуль TSD-100 (Transport Stream Detector) от Ross Video обрабатывает сообщения SCTE-35 во входящем транспортном потоке (ТП), модуль 7721DD4-HD (HD/SD-SDI Quad Data De-embedder) от Evertz обрабатывает сообщения SCTE-104 во входном сигнале SDI. Обе модели имеют выходы GPI, конфигурируемые для работы в статическом или динамическом режиме. В статическом режиме входящие сообщения переключают назначенный выход GPI независимо от содержания сообщения. В динамическом режиме сообщение декодируется, и в зависимости от его содержания переключается назначенный выход GPI. Универсальные модели совмещают функции инсертера/экстрактора, имеют интерфейсы передачи данных RS-232/422 и TCP/IP согласно спецификации SCTE-104. Примеры таких устройств были приведены в одной из предыдущих частей статьи.

Среди интегрированных приемников-декодеров (IRD) потоков MPEG-2 TS/ASI/IP есть модели, выполняющие обнаружение сообщений SCTE-35 во входном ТП, перенос данных сплайсинга в сообщение SCTE-104 в составе выходного сигнала SDI, формирование сигналов GPI для управления переключениями потоков и видеосервером. Сигналы GPI также могут формироваться в статическом и динамическом режимах.

Существуют методы простейшего контроля сообщений SCTE-35 во входящих ТП с использованием «подручных средств». К примеру, проверить наличие и содержание сообщений можно с помощью распространенных, в том числе и бесплатных, программных приложений. Для этого фрагмент ТП записывается в файл типа .ts с сохранением его оригинальной структуры. Далее потребуется узнать PID пакетов PES с сообщениями SCTE-35 в записанном потоке. Для этого подходят такие средства, как программа SL DVB Capture (www.streamlabs.ru) или DemuxToy Lite (www.altaisdigital.com). Следует отметить, что наличие в составе PMT информации о PID не означает, что в записанном фрагменте ТП будут фактически присутствовать пакеты с метками. Чтобы убедиться в наличии меток в ТП, записанный файл открывается каким-либо hex-редактором, например, Hex Editor Neo (www.hhdsoftware.com). Осуществляется поиск пакетов по значениям заголовка в формате шестнадцатеричных значений байтов вида 47 4<PID>. Так, если PID=500 (1 F4), то следует искать последовательность 47 41 F4. Если такие последовательности будут обнаруживаться с периодичностью, кратной 188 байтам, то результат поиска укажет на заголовки PES-пакетов, содержащие сообщение SCTE-35. В подавляющем большинстве случаев сообщение помещается в пределах одного пакета.

На рис. 4-1 показан пример байтовой структуры пакета, содержащего сообщение SCTE-35. Серым выделен заголовок пакета, где байт N – счетчик последовательности передаваемых пакетов с данным PID. Голубой цвет указывает на заголовок структуры Splice_info_section, где, в том числе, содержится и значение Section_length байтового размера полезной нагрузки сообщения SCTE-35, которое может иметь переменную длительность в зависимости от назначения и содержания передаваемого сообщения. Байт splice_command_type указывает код одной из шести возможных команд сплайсинга, в данном случае – Splice_insert на переход к региональному брейку, о чем указывает значение битового флага Out_of_network_indicator (OON)=1.

Рис. 4-1. Структура пакета ТП с сообщением SCTE-35
Рис. 4-1. Структура пакета ТП с сообщением SCTE-35

Далее следуют известные поля сообщения SCTE-35, выделенные красным. Поле Splice_time указывает на время переключения в единицах времени PTS (для байтов использовано обозначение YY, поскольку они разнятся для последовательных сообщений). После поля avails_expected следует обязательная структура Descriptor_loop, используемая для передачи дополнительной информации о событии сплайсинга. Значение двухбайтового поля Descriptor_length указывает на количество передаваемых дескрипторов. Если оно равно 0 (как в примере), то дескрипторы отсутствуют, и далее следует контрольная сумма PES-пакета (имеет переменное значение для каждого пакета, здесь обозначена байтами ZZ). После контрольной суммы пакет заполняется единичными битами стаффинга.

В поток пакетов с сообщениями SCTE-35 одного PID периодически включаются так называемые «пустые сообщения» с командой splice_null(), для которой байт splice_command_type равен 00. Такая команда не инициирует события сплайсинга, но может использоваться для передачи дескрипторов и для мониторинга цепи передачи (сообщение типа heartbeat message).

Расширенный функционал сплайсера

Условие бесшовной склейки в сплайсере требует согласования параметров сигналов регионального контента с параметрами различных входных потоков, что можно выполнить двумя способами.

При первом способе файл каждой воспроизводимой сервером региональной программы заранее формируется как фрагмент ТП, согласованный с характеристиками входного потока, в который он должен вставляться сплайсером. Способ характеризуется интенсивной работой программных файловых транскодеров в режиме off-line, поскольку содержание региональных программ постоянно изменяется, при этом одна и та же региональная программа должна быть представлена в отдельных файлах для вставки в различные входные потоки. Достоинством решения является относительная простота многоканального видеосервера (фактически – файлового плеера), который должен воспроизводить медиафайлы «как есть», без дополнительного транскодирования.

При втором способе поток для каждой вставки формируется путем воспроизведения в видеосервере медиафайлов с одновременным онлайновым кодированием в соответствии с параметрами входного потока. Для каждого входного потока назначается отдельный выход видеосервера, последовательность воспроизводимых медиафайлов задается отдельным региональным расписанием. Кодеки медиафайлов не зависят от характеристик входного потока, а степень компрессии может быть минимальной для обеспечения высокого качества изображения и звука. Достоинство решения – возможность вставки не только в режиме File-to-Live, характерном для выдачи рекламы, но и в режиме Live-to-Live при выдаче в региональный эфир местных выпусков новостей или иных живых передач.

В новых бизнес-моделях доставки ТВ-программ термин «Вставка» подразумевает несколько методов модификации основной программы: замещение (Splice), наложение (Overlay), совмещение (Squeeze). В каналах «Видео-по-запросу» (VOD) используется метод Insert, когда точки входа и выхода совпадают, а региональная программа на самом деле вставляется в основную программу без замещения ее фрагментов. В этой связи сплайсинг может происходить в нескольких режимах, выходящих за пределы базовых спецификаций SCTE, в том числе и с использованием перекодирования.

Перекодирование: Pro et contra

Спецификации SCTE по тематике DPI изначально позиционировались как стандарты, определяющие технические условия вставки программ непосредственно в MPEG-2 TS с фиксированной длиной коротких групп (12/15 кадров в системах на 25/30 кадр/с). Для таких ТП бесшовное переключение на границах GOP реально осуществимо. Новые кодеки H.264/AVC и H.265/HEVC используют длинные (до 250 кадров) группы. При этом опорные кадры в видеопоследовательности отстоят на такой же интервал времени, и требуется существенно больший объем буфера декодера, что затрудняет бесшовную вставку программ в ТП. Задача считается выполнимой в ориентации на конкретный набор декодеров, совместимых с эталонной моделью HRD (Hypothetical Reference Decoder), что на практике не всегда обеспечивается.

Спецификация SCTE 172 дополнительно определяет ограничения на кодирование в составе мультиплексов MPEG-2 элементарных видеопотоков SD/HD H.264/AVC, пригодных для бесшовного сплайсинга. Точки переключения связываются с кадром типа I или IDR, который является частью SRAP AU (SCTE Random Access Point Access Unit). Спецификация SCTE 215 определяет маркировку точки SHRAP (SCTE HEVC Random Access Point) в битовом потоке H.265/HEVC, где в принципе возможно бесшовное переключение. В любом случае различия в основных параметрах переключаемых видеопотоков (профиль кодирования, формат кадра, их частота, разрешение) неизбежно приводят к дефектам декодированного изображения и звука в окрестностях точек сплайсинга.

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

Вставка без перекодирования – реализуется только метод замещения (Splice) на границах групп видеопоследовательности. Есть вероятность искажения звуковых сигналов в точках переключения. Нет гарантии, что все декодеры у конечных потребителей обработают склейку без аудиовизуальных дефектов. В связи с повсеместным переходом на потоки H.264/AVC и H.265/HEVC системы этого класса уступают место решениям следующего уровня.

Вставка с частичным перекодированием относится к классу рабочих процессов в рамках концепции end-to-end compressed domain, находящейся в активном развитии и представляет собой паллиатив – нечто среднее между решениями с полным перекодированием и без перекодирования для ТП AVC и HEVC. Основной аргумент в пользу решения – сохранение качества основной программы при обеспечении покадровой точности сплайсинга. Детали реализации в настоящее время не раскрываются полностью в общедоступных публикациях. Один из известных способов – изменение длины групп так, чтобы новая граница между группами попала в точку сплайсинга. Другой способ – транскодирование без потерь фрагмента входного потока между кадрами IDR, окружающими точку сплайсинга, в последовательность I-кадров. От входного кадра IDR на канал ввода сплайсера подается такая же последовательность кадров региональной программы, в точке сплайсинга производится переключение с покадровой точностью, затем на выходном кадре IDR происходит возврат к основной программе в ее исходном виде. Для маскирования возможных дефектов вводится понятие «почти бесшовной склейки» (near-seamless splicing), когда переключение потоков происходит в режиме V-Mix с переходом через черное поле по изображению и через «тишину» по звуку.

С учетом относительно большого интервала времени между кадрами IDR потребуется существенное увеличение времени pre-roll в сообщениях SCTE-35 – до нескольких десятков секунд. Решения требуют весьма тонких обработок входящего ТП, в одной из публикаций для них найден оригинальный термин – transport stream massaging. Подобные методы «массажа» используются при наложении графики (Overlay), когда перекодированию подвергаются только те элементы видеопоследовательности входного ТП, которые содержат модифицируемые области кадра.

Пример – решение TS Splicer (starfish.tv) сочетает функции декодирования сообщений SCTE-35, хранилища медиафайлов, сплайсера. Врезка в потоки H.264/AVC и H.265/HEVC может происходить на границах GOP или с кадровой точностью внутри групп без кодирования и повторного кодирования всего ТП. Другой пример – InStream (xylostream.com/products/instream.php). Компонент InStream Splice выполняет переключения File-to-Live и Live-to-Live. Компонент InStream Convert транскодирует файлы и согласует их с профилем потока в основном канале.

Ну а при вставке с полным перекодированием основная программа выделяется из входного ТП и полностью декодируется до сигналов видео и аудио, как правило, SD/HD-SDI. Доступны все методы вставки, функции сплайсера выполняют обычные аппаратные или программные компоненты коммутации/микширования сигналов изображения и звука, наложения графики и логотипов, создания спецэффектов. Видеосервер формирует поток регионального контента в виде сигналов SDI. Региональная программа повторно кодируется и включается в состав ретранслируемого мультиплекса. Качество перехода – безусловно высокое и по видео, и по звуку, но качество основной программы между точками сплайсинга – понижается.

К недостаткам решения обычно относят повышенный расход вычислительных ресурсов при программной реализации и пониженное качество основной программы. Здесь следует отметить, что многочисленные исследования по восприятию качества изображения и звука в системах с компрессией указывают на более высокую критичность артефактов переключения по сравнению с пониженным, но стабильным во времени качеством перекодируемой основной программы.

Источник:

  • Александр Перегудов. Использование меток SCTE-104/35 в системах цифровой вставки программ // MediaVision. - 2016 - 05. - 48-49

Теги

DAI (Digital Ad Insertion)DPI (Digital Program Insertion)GOP структураI-кадрMPEG-2 TSSCTE-104SCTE-35SDIВставка рекламыМетки SCTEРекламаСплайсерТелевидениеТранспортный потокЦифровое телевидениеЦРП (центр ретрансляции программ)ЦФП (центр формирования программ)

На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.

В случае комментирования в качестве гостя (без регистрации на disqus.com) для публикации комментария требуется время на премодерацию.