Эффекты ограничения цифрового сигнала на уровне 0dBFS¶
Данная заметка описывает некоторые тонкости обработки сжатого в MPEG аудиоматериала, когда уровни декодированных сэмплов превосходят разрядную сетку.
Аудиофайлы, нормализованные по уровню под 0dBFS, и закодированные в MPEG-1 Layer 2/3 при декодировании могут производить аудиопоток в котором встречаются превышения уровня 0dBFS. Цикл кодирование-декодирование аудиоматериала может изменять локальные уровни аудиосигнала и приводить к возникновению пиков со значениями, отличными от пиков исходного материала. Далее, декодированный PCM аудиопоток в системах вещания и редактирования может представляться в оцифрованном виде с различной битностью и отношением к представимости уровней выше 0dBFS. Например, если на выходе MPEG декодера сигнал должен быть представлен в виде 16-разрядных чисел с фиксированной точкой, то уровень 0dBFS обычно совпадает с максимально представимым 16-разрядным числом, поэтому в случае такой реализации выбросы сэмплов более уровня 0dBFS ограничиваются на этом уровне, то есть "подрезаются" для исключения ситуации переполнения (дающей крайне неприятные искажения и аудиоэффекты). В рассмотренном случае сигнал декодированного аудиопотока по уровню не может превышать 0dBFS. Возможна другая ситуация: если на выходе MPEG декодера сигнал представлен в виде чисел с фиксированной точкой большей разрядности, например 32-разрядных, или в виде чисел с плавающей точкой, то уровень 0dBFS может соответствовать значению меньшему, чем максимально представимое число. В таком случае декодированный аудиопоток может содержать сэмплы амплитудой более 0dBFS.
В последних версиях приложений Digispot II (Джин, Трек-2) для медиаэлементов БД (и других) при открытии окна свойств медиаэлемента показывается его максимальный пиковый уровень, а также громкость. Если они неизвестны для медиаэлемента, то они вычисляются измерительным проходом по аудиопотоку данного медиаэлемента, и сохраняются в БД или файле. В случае, когда элемент закодирован MPEG, его декодирование выполняется в значения сэмплов с широкой разрядной сеткой, так что оцененное значение максимального пика и громкости элемента в окне свойств всегда точно соответствует материалу. Это, в частности, означает, что для аудиоматериала, нормализованного по максимуму уровня под 0dBFS перед кодированием в MPEG и сохранением в БД, значение "максимального пика" может превыщать 0dBFS. При проигрывании таких элементов в плеерах Digispot II, звук в конечном итоге чаще всего воспроизводится через 16-разрядные аудиоустройства, так что в конечном итоге при финальной обработке аудиопотока воспроизведения максимумы сэмплов все равно в итоге ограничиваются на уровне 0dBFS.
В некоторых других местах технологических цепочек приложений Digispot II ограничение декодированных сэмплов аудиопотока выполняется сразу. Два таких примера
- запись результата редактирования в программе Трек-2 в файл или элемент БД (неважно, новый элемент или замещение существующего);
- импорт сжатых файлов в БД (за исключением варианта физического копирования файла без фазы перекодирования: такое случается если формат сжатого файла соответствует установленному на уровне общих настроек формату аудиоданных системы).
В обоих случаях Джин/Трек-2 выполняют ограничение сигнала на уровне 0dBFS перед кодированием и записи элемента медиа БД. Такой алгоритм приводит, в частности, к кажущемуся необычным или ошибочным поведению редактора, когда в нем открывают сжатый MPEG элемент с уровнем пика более 0dBFS и тут же сохраняют его не редактируя (в другой формат, или просто копию). При этом уровни пика и громкости у сохраненного элемента могут измениться по сравнению с исходными, хотя этот файл является копией исходного и звучит так же. При записи несжатых файлов тоже выполняется ограничение на уровне 0dBFS, но несжатый материал просто непредставим в PCM формате с большим уровнем.
В качестве заключительной рекомендации скажем следующее: сжатый аудиоматериал в БД после монтажа следует записывать нормализованным на меньший уровень, чем 0dBFS. Скажем, на –3dBFS, или даже –6dBFS. Помимо исключения эффектов переполнения/ограничения, описанных выше, вы дадите себе возможность более свободно менять уровни воспроизведения подготовленного таким образом материала.