Олег Березин, председатель российской секции SMPTE, выступил с докладом «Обновленные стандарты по PTP-синхронизации SMPTE ST 2059-1:2021 и ST 2059-2:2021» на Online-круглом столе «Broadcasting 2021. Технологии новостного производства» 21 сентября 2021 года.
Олег Березин: Сегодня мы поговорим о стандартах 2059-1 и 2059-2, которые были обновлены в 2021 году.
Но, прежде всего, хочу несколько слов сказать о времени. Время – понятие сложное. Существует всем хорошо известное всемирное координированное время UTC, связанное с суточным движением Земли. Но так как суточное вращение Земли неравномерно, то во временной шкале UTC не укладывается ровно 86’400 секунд в сутки. И для отчета времени на основе точного определения секунды был принят стандарт атомного времени TAI, которое несколько отличается от UTC. Для периодической корректировки относительно TAI, к UTC время от времени добавляется (но теоретически может и вычитаться) корректировочная секунда. В 1972 году при запуске атомного времени разница между атомным временем TAI и UTC составляло 10 секунд, а сегодня с 01 января 2017 года – уже 37 секунд (время TAI опережает UTC).
А еще есть, например, время GPS, которое отстает от атомного времени TAI ровно на 19 секунд. Вообще, в настоящее время в мире для тех или иных применений используется порядка 25 временных шкал. Понимание природы времени несомненно важно при обсуждении вопросов синхронизации медиасигналов.
В истории медиапроизводства
В истории медиапроизводства было много разных сигналов синхронизации, но с переходом на цифру у нас возникла задача свести воедино эти сигналы синхронизации и использовать какую-то одну сущность, так как те сигналы, которые мы использовали раньше, избыточны по своей сути.
Важно обратить внимание, что во многих документах есть понятие и синхронизации (synchronization), и тайминга (timing). Синхронизация – это согласование по частоте сигналов с каким-то опорным генератором или другим сигналом. Тайминг – это фазирование, то есть привязка сигнала к другому сигналу, например, точного времени по фазе.
Для определения времени в цифровом мире нам достаточно иметь некий счетчик интервалов; знать, в какое время этот счетчик начал работать (т.е. знать момент начала Эпохи времени); и знать значение количества отсчитанных интервалов этого счетчика. Вот таким образом цифровые технологии синхронизации и построены на счетчиках интервалов, которые мы называем часами (clocks). По сути, часы — это некий генератор, при обращении к которому мы получаем в ответ значение времени.
Олег Березин: Кино никуда не денется!
Precision Time Protocol – PTP
В основе современных технологий прецизионной синхронизации лежит протокол точного времени (Precision Time Protocol – PTP), который впервые был стандартизирован в 2002 году как стандарт IEEE-1588. В 2008 году стандарт IEEE был модифицирован до PTPv2. В 2015 году SMPTE на основе этого стандарта IEEE разработало два ключевых для медиаотрасли стандарта семейства ST 2059 по использованию PTP в медиапроизводстве. Но уже в 2019 году вышла новая версия IEEE-1588 PTPv2.1 и на этом фоне у SMPTE в конце 2020 года произошло обновление стандартов семейства ST 2059. Замечу, что эти обновления стандартов SMPTE не коснулись новой версии стандарта PTP 2019 года, так что в ближайшее время нас ждет еще одно обновление стандартов SMPTEST 2059.
В основе Протокола Точного Времени PTP лежит передача маленькими пакетами временных меток timestamp на уровнях OSIL2 или L3. Это может быть реализовано программно или аппаратно. РТР можно передавать как в режиме multicast, так и в режиме unicast, главное, чтобы сеть, которую мы построили, передавала эти РТР-пакеты вовремя.
Формат счетчиков интервалов РТР достаточно большой: 32 бита секунд и 32 бита наносекунд. Он охватывает значительный диапазон шкалы времени – от одной наносекунды до 136 лет. Через 136 лет с момента начала Эпохи PTP-счетчик начнет работать сначала. Стандартом IEEE-1588 определен момент старта Эпохи РТР: 00:00:00 01 января 1970 года по атомному времени TAI. Обращу еще раз внимание, что всё время, которое устанавливается в РТР-протоколе, соотносится с атомным временем, которое сегодня на 37 секунд опережает время UTC.
Принцип работы РТР достаточно прост. Идея состоит в том, что, передав пакет, мы, зная время, которое требуется для передачи от Ведущих часов (Leader Clock) к Ведомым часам (Follower Clock), можем добавить это время (т.е. время задержки, которое возникает в процессе передачи по сети и через сетевые устройства), и сообщить с помощью специальных сообщений Ведомым часам точное время в тот момент, когда оно нужно.
Еще один важный момент — это временная метка, то есть формат числа, который проставляется во все пакеты и очень широко используется во всех сферах применения PTP.
Временная метка timestamp РТР содержит 80 бит, из которых 48 – целые секунды, это примерно девять миллионов лет, а 32 – это наносекунды.
Виды часов
В системе используются несколько видов часов: обычные, граничные, прозрачные. В свою очередь эти часы могут выступать как Ведущие часы (в обновленном стандарте это Leader Clock) и Ведомые часы (Follower Clock).
В типичных системах синхронизации медиакомплексов используются два Грандмастера – гроссмейстерские, основные, опорные Ведущие часы (Grandmaster), которые, в свою очередь, синхронизируются от приемных устройств спутниковых систем.В определенный момент весь медиакомплекс синхронизируется от одного Грандмастера, а второй в этот момент являются резервными.Для обеспечения надежности и устойчивого переключения от одного Грандмастера к другому, используется принцип выбора наилучших часов (Best Master Clock Algorithm BMCA) с различными данными приоритетов, и это тоже имеет отражение в стандартах SMPTE.
РТР очень широко используется во всех отраслях современного народного хозяйства. Так как он является общим стандартом, то для каждой индустрии устанавливаются свои наборы правил и ограничений – так называемые Профили. Для этого и были разработаны стандарты ST 2059-1 и ST 2059-2. Они объясняют нам, как использовать РТР-синхронизацию, в медиапроизводстве.
ST 2059-1
ST 2059-1 – это стандарт SMPTE, который определяет, как нам синхронизировать любой медиасигнал и как его привязать к Эпохе SMPTE, которая полностью совпадает с Эпохой РТР. Идея состоит в том, что если мы знаем, какое количество отчетов произошло с какого-то момента, когда мы запустили генератор, то мы всегда можем посчитать, сколько это времени. Если мы эти отчеты привяжем к какому-то определенному моменту нашего видеосигнала, так называемой Tочке выравнивания (Alignment Point), то мы посчитать время этой Точки выравнивания и, главное, будущие Точки выравнивания, которые нам необходимы. Это позволяет нам синхронизировать сигнал любой медиасигнал.
Стандарт ST 2059–1 определяет точки выравнивания для медиасигналов разного типа: аналогового и цифрового видеосигналов, стандартного разрешения и HD, для различных SDI-сигналов и для аудиосигналов AES3.
ST 2059–2
Стандарт ST 2059–2 определяет Профиль, то есть набор ограничений для использования PTP в медиаиндустрии: параметры и их значения, разрешенные диапазоны параметров и так далее.
В настоящее время SMPTE установило политику поддержания актуальности принятых стандартов и каждые пять лет все изданные ранее стандарты проходят процедуру пересмотра, и это очень важный момент. Если вы в своей работе пользуетесь стандартом, который издан, например, в 2012 году, то, скорее всего, уже появилась обновленная версия.
Именно в рамках реализации такой политики актуализации в 2021 году были обновлены оба ключевых стандарта семейства ST 2059, принятые ранее в 2015 году. Основные отличия от версии 2015 года заключаются в модификации представления некоторых формул расчета времени Точек выравнивания медиасигналов. Благодаря такой гармонизации логика вычисления Точек выравнивания стала более наглядной. А самым заметным изменением в версии 2021 года стало обновление терминологии в соответствии с IEEE 1588 PTPv.2. Ведущие часы, которые раньше мы называли Master Clock, стали называтьсяLeader Clock; а ведомые часы (ранее Slave Clock) теперь называются Follower Clock, то есть они не только ведомые, но и следящие за теми или иными часами.
В новой версии ST 2059 введены также изменения, связанные с применением тех или иных архитектур и требований к РТР-доменам (РТР-домен – это набор устройств, которые синхронизируются от одних часов, при этом они могут быть изолированы и не синхронизироваться от других часов). Также были определены новые параметры для установки режимов multicast и unicast передачи служебных данных PTP, уточнены параметры TLV-расширений метаданных синхронизации протокола PTP для применения в медиаиндустрии.
Тимур Кулгарин, технический директор «СТС Медиа»: Классическая реализация РТР в виде двух коммутаторов ядра, каждый из которых шлет свое РТР-время, и между этими ядрами BCMALink, который обеспечивает выбор, какой из двух Leader Clock будет основным, имеет, на мой взгляд, некоторый недостаток. Когда самый главный Leader Clock начинает сбоить, то вся система теряет синхронизацию. Переключения на второй Leader Clock не происходит, потому что первый все равно посылает импульсы, только неверные.
Олег Березин: Соглашусь, что практическое применение PTP-синхронизации в медиаиндустрии за последние годы породило много вопросов, так как всё новое требует наработки определенного опыта всей индустрией. В настоящее время SMPTE совместно с другими индустриальными сообществами как раз занимаются вопросами тестирования устройств на совместимость или обобщения лучших практик. Сейчас уже появилась рекомендации по использованию тех или иных установочных параметров, которые позволяют избегать таких ситуаций. Приоритеты, по которым происходит выбор лучших часов, нужно расставлять очень аккуратно, чтобы часы не путались в тот момент, когда одни Leader Clock начинают сбоить. Система должна быстро переключиться на свой внутренний генератор, что допустимо на какой-то период, и быстро найти новые часы, которые будут грандмастером. Есть очень много требований, связанных с запретом ведомым часам выступать мастером, особенно это касается случаев, когда вы подключили новое устройство. Есть такие практики, и можно разбирать их более подробно как раз для того, чтобы избежать этих ситуаций. Вообще это вопрос своевременности отработки сбоя генератора и того, насколько правильно он настроен. Никогда нельзя делать изолированные домены, все равно между грандмастерами должен быть свой линк, идущий по своему выделенному каналу, чтобы успеть вовремя сообразить, что одни часы пошли не туда и нужно срочно брать инициативу на себя.