Введение

Временной код, закодированный как аудиосигнал. Линейный (или продольный) временной код (LTC) – это кодирование данных SMPTE-таймкода в аудиосигнале, как определено в спецификации SMPTE 12M. Аудиосигнал обычно записывается на дорожку видеомагнитофона (VTR) или другие носители информации. Биты кодируются с использованием кода бифазного маркирования (также известного как FM): бит 0 имеет один переход в начале битового периода, а бит 1 – два перехода, в начале и середине периода. Эта кодировка является самосинхронизирующейся. Каждый кадр завершается "синхронизирующим словом", которое имеет специальное, заранее определенное соотношение синхронизации с любым видео- или киноконтентом. Специальный бит в кадре линейного временного кода, бит коррекции бифазного маркирования, гарантирует, что в каждом кадре временного кода будет четное количество переменного тока (AC) переходов. Звук линейного таймкода – это резкий и характерный шум, который часто используется в качестве звукового эффекта для обозначения телеметрии или компьютеров. По состоянию на 21 января 2019 года эта рекомендация была отозвана ITU R.

Формат данных продольного временного кода

Основной формат – это 80-битный код, который задает время вплоть до секунды и номер кадра внутри секунды. Значения хранятся в двоично-десятичном коде, начиная с младшего бита. Есть тридцать два бита пользовательских данных, обычно используемых для номера катушки и даты. + SMPTE линейный таймкод

Бит | Вес | Значение
---|---|---
00 | 1 | Единицы номера кадра (0–9)
16 | 1 | Единицы секунд (0–9)
32 | 1 | Единицы минут (0–9)
48 | 1 | Единицы часов (0–9)
64 | 0 | Синхроимпульс, фиксированный шаблон 0011111111111101
01 | 2 | 17 | 2 | 33 | 2 | 49 | 2 | 65 | 0
02 | 4 | 18 | 4 | 34 | 4 | 50 | 4 | 66 | 1
03 | 8 | 19 | 8 | 35 | 8 | 51 | 8 | 67 | 1
04 | | Пользовательское поле 1 | 20 | Пользовательское поле 3 | 36 | Пользовательское поле 5 | 52 | Пользовательское поле 7 | 68 | 1
05 | 21 | 37 | 53 | 69 | 1
06 | 22 | 38 | 54 | 70 | 1
07 | 23 | 39 | 55 | 71 | 1
08 | 10 | Десятки номера кадра (0–2) | 24 | 10 | Десятки секунд (0–5) | 40 | 10 | Десятки минут (0–5) | 56 | 10 | Десятки часов (0–2) | 72 | 1
09 | 20 | 25 | 20 | 41 | 20 | 57 | 20 | 73 | 1
10 | | D – Флаг пропуска кадра | 26 | 40 | 42 | 40 | 58 | BGF1 – Флаг синхронизации часов | 74 | 1
11 | C – Флаг "цветного кадра" | 27 | (флаг, см. ниже) | 43 | (флаг, см. ниже) | 59 | (флаг, см. ниже) | 75 | 1
12 | Пользовательское поле 2 | 28 | Пользовательское поле 4 | 44 | Пользовательское поле 6 | 60 | Пользовательское поле 8 | 76 | 1
13 | 29 | 45 | 61 | 77 | 1
14 | 30 | 46 | 62 | 78 | 0
15 | 31 | 47 | 63 | 79 | 1

Бит 10 устанавливается в 1, если используется нумерация с пропуском кадров; кадры 0 и 1 пропускаются в течение первой секунды каждой минуты, за исключением минут, кратных 10. Это преобразует таймкод с 30 кадрами в секунду в стандарт NTSC 29,97 кадра в секунду. Бит 11, флаг цветного кадра, устанавливается в 1, если таймкод синхронизирован с цветовым видеосигналом. Номер кадра по модулю 2 (для NTSC и SECAM) или по модулю 4 (для PAL) должен сохраняться при склейке, чтобы избежать фазовых сдвигов в поднесущей цветности. Биты 27, 43 и 59 различаются для таймкода с 25 кадрами/с и других частот кадров (30, 29,97 или 24). Эти биты:

"Бит коррекции полярности" (бит 59 при 25 кадрах/с, бит 27 при других частотах): этот бит выбирается для обеспечения четного количества нулей во всем кадре, включая синхроимпульс. (Поскольку кадр имеет четное количество битов, это подразумевает четное количество единиц, и, следовательно, является битом четности. Поскольку синхроимпульс содержит нечетное количество единиц, это бит нечетной четности по данным.) Это поддерживает постоянную фазу каждого кадра, так что он всегда начинается с фронта в начале бита 0. Это позволяет бесшовную склейку различных таймкодов и упрощает его чтение с помощью осциллографа. Биты "флаг двоичной группы" BGF0 и BGF2 (биты 27 и 43 при 25 кадрах/с, биты 43 и 59 при других частотах): они указывают формат пользовательских битов. Оба нуля означают отсутствие (или неуказанный) формат. Только установленный BGF0 указывает четыре 8-битных символа (передаются в порядке младшего значащего байта). Комбинации с установленным BGF2 зарезервированы. Бит 58, не использовавшийся в более ранних версиях спецификации, теперь определяется как "флаг двоичной группы 1" и указывает, что таймкод синхронизирован с внешними часами. Если равен нулю, начало отсчета времени произвольное. Синхроимпульс в битах 64–79 содержит 12 последовательных единиц, которые не могут встречаться больше нигде в таймкоде. Предполагая, что все пользовательские биты установлены в 1, самая длинная последовательность единиц, которая может появиться в другом месте в таймкоде, составляет 10, биты с 9 по 18 включительно. Синхроимпульсу предшествуют 00, за ним следует 01. Это используется для определения направления движения аудиоленты.