Страница 4 из 20
Исходя из этого, совсем не грамотно называть физический XLR- порт синхронизации SMPTE-портом, так как это название стандарта кодирования времени, а физический интерфейс передачи таймкода SMPTE называется LTC. Ведь тот же самый SMPTE, передаваемый по интерфейсу MIDI, называется уже MIDI Time Code (MTC).
И еще одна особенность: SMPTE в оригинальном формате кодирования передается только через LTC. А через все остальные интерфейсы передается его адаптированная под конкретный интерфейс передачи данных форма. Эту особенность мы сможем рассмотреть при сравнении линейного и MIDI-таймкода в следующей главе.
Теперь, когда информация структурирована, давайте разберем особенности каждого протокола и интерфейса: как их генерировать, как их принимать, как избежать ошибок и, самое главное, как гарантированно запустить синхронизацию.
TIME SYNC PROTOCOLS. HOW SMPTE WORKS
Таймкод в шоу-индустрию пришел с телевидения. И называется он SMPTE. Аббревиатура расшифровывается как Society of Motion Picture and Television Engineers. Это ассоциация, которая приняла единый стандарт кодирования времени, разработанный в 1967 году. Чуть позже к ним присоединился EBU (European Broadcasting Union). Сейчас существует множество других стандартов записи таймкода, которые намного удобнее и функциональнее, но старый добрый SMPTE до сих пор жив и широко используется в шоу-индустрии.
LTC (Longitudinal Time Code)
Первая технология записи движущегося изображения появилась в кино. Изображение писалось на кинопленку кадр за кадром. Это был довольно большой прорыв. Позже, в 1920 году, на свет появилось телевидение, которое очень активно развивалось. Но мало кто знает, что долгое время все телевизионные программы передавались в прямом эфире! Тогда не существовало технологий записи и воспроизведения изображения для ТВ-трансляций. Первые ТВ-камеры были сделаны на основе иконоскопа. Это как кинескоп, который используется для формирования изображения, только наоборот: он преобразует видимый свет в электрический сигнал, который напрямую транслировался в эфир. Способов для записи такого сигнала тогда не существовало. Конечно, позже появились специальные технологии записи и трансляции телепередач и фильмов, но принцип оставался тот же самый: кинопроектор проецировал изображение напрямую в телекамеру. Правда, при таком способе качество изображения падало в разы.
AMPEX quadruplex VR-1000A, первый коммерчески выпущенный в конце 1950-х годов видеомагнитофон, использующий поперечно-строчную ленту с открытой катушкой шириной 2 дюйма
В 1956 году на свет появился первый видеомагнитофон (Video Tape Recorder), который мог записывать изображение и звук в аналоговом формате на ленту и воспроизводить эту информацию. Позже появилась необходимость также записывать информацию о времени, которая была бы синхронна с видеоизображением. Так как на видеоленте было несколько дорожек, предназначенных для записи аудио, одна из этих дорожек использовалась для записи таймкода, где в аналоговом формате был записан SMPTE-код. Такой способ записи SMPTE называется Longitudinal Time Code (LTC), или линейный таймкод. Такое название было дано потому, что информация в этом формате записывается бит за битом последовательно, так как по-другому на ленту информацию не записать. Спустя многие годы эта технология записи таймкода начала использоваться в шоу-индустрии.
SMPTE – это время, которое начинается с нуля. Так же, как и в обычной жизни, в SMPTE есть часы, минуты и секунды. Максимальное значение SMPTE – 24 часа, как и в сутках. Но есть и отличие от привычного для нас измерения времени – это кадры. Терминология пришла из кино. Так как одна секунда видео содержит в себе определенное количество кадров, то и временной код определяется видеокадрами. Но количество кадров может быть различным в зависимости от формата видео. Это применимо также для SMPTE, поэтому он может быть разным.
Есть несколько форматов SMPTE: 24fps (frames per second – кадров в секунду), 25fps, 30fps, 29.97fps (он же 30fps drop). Все эти значения, кроме 24 fps, были обусловлены форматом телевещания в конкретной стране – PAL, SECAM, NTSC – которые, в свою очередь, были обусловлены частотой электросети (50 Гц, 60 Гц) и стандартами передачи цветного изображения. 24 fps – это киноформат, так как кино снимается на пленку, где одна секунда содержит в себе 24 кадра.
В самом начале мы с вами договаривались, что в этой книге будет минимум лирических отступлений, но одно все же сделать нужно, так как эта информация нам нужна для понимания различия между линейным и другими форматами таймкода
Простейшей единицей информации в LTC является блок данных, передающий каждый кадр реального времени, поэтому он так и называется – кадр SMPTE. Для кодирования битов в LTC-сигнале используется схема под названием Bi-Phase Mark: нули кодируются одиночным переворотом фазы на границе периода, единицы – двумя переворотами (один на границе периода, другой в половине периода). LTC-кадр имеет длину 80 бит. Структура кадра показана на рисунке.
Время SMPTE кодируется методом BCD (Binary Coded Decimal). В этом методе под каждую десятичную цифру отводятся четыре бита. В кадре на запись времени отводятся 26 бит. Между ними присутствуют дополнительные данные, которые по большей части относятся к параметрам видеокадра, а также данные User Bits, которые в свободной форме могут использоваться для передачи дополнительной пользовательской информации. На данный момент такой способ передачи дополнительных данных не используется, и информация в этих областях всегда равняется нулю. Завершается блок данных синхрословом (последние 16 бит). Синхрослово используется для определения границы кадра, значение которого фиксировано: 0011 1111 1111 1101.
Если таймкод записан на ленту правильно, то при воспроизведении никаких проблем не возникает, так как информация записана физически. В этом и есть один из секретов надежности LTC.
МТС (MIDI Time Code)
Время прошло, и на телевидении SMPTE стали писать уже в других форматах: VITC, CTL, BITC, Keycode.
Поговорим теперь о другом варианте работы с SMPTE. Следующий интерфейс пришел из мира музыки. Это MIDI. Он очень обширен и позволяет работать с разными форматами данных. Более подробно о MIDI и его структуре мы поговорим в следующей главе, а сейчас затронем формат работы со временем. Называется он MTC (MIDI Time Code).
Первое отличие его от LTC в том, что этот формат полностью цифровой и кодируется в шестнадцатеричной системе исчисления (в то время как LTC кодируется бинарным способом).
Второе: этот формат нельзя записать на носитель (как LTC), он генерируется программно или аппаратно.
Теперь давайте подробнее затронем цифровую часть этого протокола. Существует два типа MTC сообщений: Full-message (полное сообщение) и Quarter-frame (четверть сообщения).
Full-message содержит в себе информацию целого таймкод кадра. Такое сообщение отправляется в определенных случаях: остановка, начало воспроизведения, перемотка и др.
Quarter-frame сообщения отправляются в случае штатного воспроизведения. Как следует из названия, в момент передачи одного таймкод кадра используются четыре Quarter-frame сообщения. Но вот парадокс, чтобы закодировать информацию о полном SMPTE кадре через MTC, необходимо использовать восемь Quarter-frame сообщений. Из этого следует, что, чтобы передать через MIDI информацию о полном кадре таймкода, необходимо потратить время, равное воспроизведению двух кадров SMPTE таймкода. Это означает, что к моменту, когда принимающее устройство декодирует информацию о полном кадре, она уже устареет на два кадра. А также из-за этой особенности принимающее устройство будет получать по MIDI только каждый второй кадр. Чтобы по итогу принимающее устройство смогло корректно интерпретировать принятый таймкод, оно должно сделать поправку на два кадра и также самостоятельно генерировать недостающие кадры. К сожалению, не все производители оборудования реализуют подобные алгоритмы, по этой причине MTC на разных устройствах может работать по-разному.