Введение

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

Телевидение

В контексте телевизионных систем вспомогательные данные (обычно сокращенно ANC-данные) – это способ встраивания невидеоинформации (такой как аудио, другие типы контента и метаданные) в последовательный цифровой интерфейс. Вспомогательные данные стандартизированы SMPTE как SMPTE 291M: Формат пакетов и пространственное расположение вспомогательных данных. Вспомогательные данные могут располагаться в неактивных областях горизонтальных строк развертки. Это называется горизонтальными вспомогательными данными (HANC). Вспомогательные данные также могут располагаться в неактивных областях кадра, что известно как вертикальные вспомогательные данные (VANC).

Формат пакета

Все пакеты ANC должны начинаться с начальной последовательности; для компонентных интерфейсов (единственного типа широко используемого сегодня последовательного цифрового интерфейса) эта последовательность – 0x000 0x3FF 0x3FF. Эта последовательность недопустима в последовательном цифровом интерфейсе. (В устаревших композитных версиях SDI начальная последовательность ANC представляет собой одно слово – 0x3FC). За начальной последовательностью в заголовке следуют три слова. Первое слово после начальной последовательности – это идентификатор данных (DID), за которым следует либо вторичный идентификатор данных (SDID), либо номер блока данных (DBN), а затем – счетчик данных (DC). После слова "счетчик данных" следуют от 0 до 255 (включительно) слов пользовательских данных (UDW), за которыми следует слово контрольной суммы (CS).

Я сделал это.

Слово идентификатора данных (вместе с SDID, если используется) указывает тип дополнительных данных, которым соответствует пакет. Идентификаторы данных находятся в диапазоне от 1 до 255 (FF в шестнадцатеричной системе), при этом 0 зарезервировано. Поскольку последовательный цифровой интерфейс имеет 10-битный формат, слово DID кодируется следующим образом:

Биты 0–7 (бит 0 – младший значащий бит) содержат исходное значение DID. Бит 8 – это бит четного паритета для битов 0–7. Бит 9 является инверсией бита 8. Таким образом, DID 0x61 (01100001) будет закодирован как 0x161 (0101100001), а DID 0x63 (01100011) будет закодирован как 0x263 (1001100011). Следует отметить, что эта схема кодирования гарантирует, что зарезервированные значения в последовательном цифровом интерфейсе (0–3 и 1020–1023) никогда не будут использоваться. Если DID равен 128 (0x80) или больше, то пакет является пакетом типа 1, и DID достаточно для идентификации типа пакета, а следующее слово – номер блока данных. Если DID меньше 128, то это пакет типа 2, а следующие слова – вторичный идентификатор данных; DID и SDID вместе идентифицируют тип пакета.

SDID

SDID действителен только в том случае, если DID меньше 0x80. SDID по своей сути является 8-битным значением в диапазоне от 0 до 255. Он кодируется тем же способом, что и DID. Комбинации DID/SDID, равные 161 101 (в шестнадцатеричном формате), соответствуют DID равным 61 (в шестнадцатеричном формате) и SDID равным 1 (после удаления двух старших битов); эти значения указывают на то, что тип пакета определен стандартом SMPTE 334M и содержит данные закрытых субтитров DTV.

ДБН

DBN действителен только если DID равен 80 шестнадцатеричному или больше. Он (опционально) используется для идентификации нескольких пакетов одного типа внутри поля; каждый последующий пакет указанного типа имеет DBN, на единицу превышающий DBN предыдущего пакета, с циклической сменой значений при необходимости. DBN – это 8-битное значение, кодируемое тем же способом, что и SDID.

ДС

Слово "Data Count" — это 8-битное значение, закодированное тем же способом, что и DID, которое указывает количество последующих слов пользовательских данных. Оно может принимать значения от 0 до 255.

УДВ

Слова пользовательских данных являются "полезной нагрузкой" в пакете ANC. Они определяются в зависимости от типа пакета, при этом SMPTE 291M не определяет их использование и не устанавливает никаких ограничений на значения, которые могут содержаться в пространстве UDW. Единственным ограничением является то, что зарезервированные значения в последовательном цифровом интерфейсе (0–3 и 1020–1023) не должны включаться в UDW. Многие форматы ANC, хотя и не все, по сути являются 8-битными и кодируют данные так же, как и слова заголовка.

Контрольная сумма

Последнее слово в пакете ANC – это слово контрольной суммы. Оно вычисляется как сумма (по модулю 512) битов 0-8 (не бита 9) всех остальных слов в пакете ANC, исключая последовательность начала пакета. Бит 9 слова контрольной суммы определяется как инверсия бита 8. Следует отметить, что слово контрольной суммы не содержит бита четности; вместо этого биты четности других слов включаются в вычисления контрольной суммы.

Встроенный звук

Встроенное аудио – это аудиопоток, который (как правило) представляет собой саундтрек (музыку, диалоги и звуковые эффекты) для видеопрограммы. Два стандарта, SMPTE 272M (для SD) и SMPTE 299M (для HD и 3G), определяют способ встраивания аудио в дополнительное пространство. Стандарты SD и HD обеспечивают поддержку до 16 каналов аудио PCM, а 3G – до 32 каналов, обычно кодируемых в формате AES3. В HD встроенные пакеты аудиоданных передаются в пространстве HANC параллельного потока данных Cb/Cr (хроматиности). Кроме того, оба стандарта определяют пакеты управления аудио. Пакеты управления аудио передаются в пространстве HANC параллельного потока данных Y (яркости) и вставляются один раз на полукадр на второй видеостроке после точки переключения (см. SMPTE RP168 для определения точек переключения различных видеостандартов). Пакет управления аудио содержит метаданные, связанные с аудио, такие как его временная синхронизация с видео, информация о присутствующих каналах и т.д. Встроенные аудиопакеты относятся к типу 1.

ЭДГ

EDH-пакеты используются для обнаружения ошибок в интерфейсах стандартной четкости (они не требуются в HD-интерфейсах, так как HD SDI-интерфейс имеет встроенные CRC-контрольные суммы).