Работа с аудио и видео. Типы временного кода: с пропуском кадров и без пропуска кадров

Временной код идентифицирует каждый видеокадр с помощью целых чисел для часа, минуты, секунды и номера кадра. Это работает хорошо, когда имеется целое число кадров в секунду — 24 fps для фильма, 25 fps для PAL-видео и произвольные 30 fps для только звуковых приложений. Алгоритм прост. Например, временной код PAL считает от 00:00 (секунды/кадры) до 00:24. Затем после добавления одной секунды и сброса счетчика кадров получается 01:00.

Но NTSC-видео, используемое в большинстве стран обеих Америк и Тихоокеанского региона, функционирует с частотой (приблизительно) 29,97 кадра в секунду. Эта крошечная разница — практически для всех применений на 1/10 процента медленнее, чем 30 fps — вызывает проблемы. Вы не можете просто считать от 0 до 28,97, а затем добавить одну секунду, так как система не понимает, что такое одна сотая кадра. Она только понимает, когда кадр меняется.
Вы могли бы считать временной код NTSC от 0 до 29 кадров, затем добавить секунду и сбросить счетчик кадров. Но это означает, что каждая секунда нашего временного кода немного медленнее, чем секунда на часах. Через час накопится ошибка в 3,6 секунды, представляющая серьезную проблему для работников вещания.

Или вы могли бы что-нибудь сделать с номерами. Если бы частота кадров точно равнялась 30 fps, то в минуте было бы 1800 кадров. Одна десятая процента от этого числа равняется почти двум кадрам. Поэтому вы считаете по 30 fps на протяжении большей части времени, но раз в минуту вы пропускаете два номера кадра. Кадр после 1:29 (секунды/кадры) будет иметь обозначение 2:00. Но за кадром 59:29 последует кадр 1:00:02. В этой первой секунде новой минуты кадры начнутся с 2 вместо 0.

Но 1/10 процента минуты в действительности соответствует 1,8 кадра, а не 2 кадрам, которые мы пропускаем. За минуту накапливается 0,2 кадра, а за десять минут — 2 кадра. Ошибка накапливается уже в другом направлении, внося в наш временной код с пропуском номеров небольшое опережение. Поэтому для выравнивания этой ситуации каждые десять минут мы не пропускаем номера кадров. Это понятно?

Такой временной код с пропуском кадров (dropframe timecode — df) используется работниками вещания для создания телепрограмм. С кодом без пропуска кадров (non-dropframe timecode-ndf) легче работать при выпуске рекламной продукции. Стандартной практикой является начинать каждую 30-ю вставку в начале минуты так, чтобы монтажер мог видеть, что когда секунды и кадры считываются как 29:29, то реклама кончается. Но в режиме с пропуском кадров большинство минут начинаются уже с двумя кадрами; начавшаяся в этом месте 30-я вставка заканчивалась бы на неожиданном значении 30:01. Поэтому в установках по обработке звука, в частности по обработке рекламных вставок, обычно предпочтительным является режим без пропуска кадров.

Если ваша продукция не предназначена для вещания, и для нее необязательно знать точную длину, то будет все равно, какой формат использовать.

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

• Большинство НЛР и аудиоредакторов запускают клипы на основании номеров временного кода. Если вы измените формат временного кода проекта, после начала редактирования, то длинные клипы, запускаемые до границы минуты, могут быть неправильно размещены относительно клипов, запускаемых позднее. Это можно исправить только ручным восстановлением синхронизации. Лучшие рабочие аудиостанции используют внутренний временной код, основанный на отсчетах дискретизации, и переводят его в определенный формат SMPTE «на лету». Это полностью исключает данную проблему.

• В LTC и VITC имеется однобитовый флаг (признак), указывающий, какой режим — с пропуском или без пропуска кадров — используется во временном коде. Это позволяет устройству немедленно определить, с каким из режимов оно имеет дело. Во многих программах и деках вместо последнего двоеточия ставится точка или точка с запятой при отображении временной информации с пропуском кадров.