Введение
Avid DNxHD ("Digital Nonlinear Extensible High Definition") — это видеокодек высокой четкости с потерями, разработанный Avid для многопоколенной композиции с пониженными требованиями к объему хранения и полосе пропускания. Является реализацией стандарта SMPTE VC 3.
Обзор
DNxHD — это видеокодек, предназначенный для использования как в качестве промежуточного формата, подходящего для работы в процессе редактирования, так и в качестве формата для представления готового видео. Данные DNxHD обычно хранятся в контейнере MXF, хотя также могут храниться в контейнере QuickTime. 13 февраля 2008 года Avid сообщила об одобрении DNxHD как соответствующего стандарту SMPTE VC 3. Изначально DNxHD задумывался как открытый стандарт, но по состоянию на март 2008 года фактически оставался запатентованным форматом Avid. Исходный код кодека Avid DNxHD свободно доступен от Avid для внутреннего тестирования и анализа, однако для коммерческого использования требуется одобрение лицензии Avid. Коммерческая лицензия была предоставлена ряду компаний, включая Ikegami, FilmLight, Harris Corporation, JVC, Seachange и EVS Broadcast Equipment. 14 сентября 2014 года на мероприятии Avid Connect в Амстердаме (Нидерланды) Avid представила кодек DNxHR, поддерживающий разрешения выше 1080p, такие как 2K и 4K. 22 декабря 2014 года Avid Technology выпустила обновление для Media Composer, добавив поддержку разрешения 4K, цветового пространства Rec. 2020 и битрейта до 3730 Мбит/с при использовании кодека DNxHR.
Реализация
DNxHD был впервые поддержан в Avid DS Nitris (сентябрь 2004 года), затем Avid Media Composer Adrenaline с опцией DNxcel (декабрь 2004 года) и, наконец, Avid Symphony Nitris (декабрь 2005 года). Xpress Pro ограничен использованием 8-битной компрессии DNxHD, которую можно импортировать из файла или захватить с помощью Media Composer с аппаратным обеспечением Adrenaline. Media Composer 2.5 также позволяет редактировать полностью несжатый HD-материал, импортированный или захваченный на системах Symphony Nitris или DS Nitris. Камерная система Ikegami Editcam уникальна в своей поддержке DNxHD и записывает видео непосредственно в кодировке DNxHD. Такой материал сразу же становится доступным на платформах редактирования, напрямую поддерживающих кодек DNxHD. Arri Alexa поддерживает DNxHD с ноября 2011 года. Blackmagic Design HyperDeck Shuttle 2 и HyperDeck Studio поддерживают DNxHD с 2012 года. AJA Video Systems поддерживает кодек DNxHD в своих рекордерах и плеерах Ki Pro Mini и Ki Pro Rack с 2012 года. Для создания и воспроизведения файлов QuickTime, содержащих материал DNxHD, доступен автономный кодек QuickTime для Windows XP и Mac OS X. С сентября 2007 года проект FFmpeg с открытым исходным кодом предоставляет функции 8-битного кодирования и декодирования VC 3/DNxHD благодаря спонсорству BBC Research и реализации Батиста Кудурие. В июле 2011 года FFmpeg добавил поддержку 10-битного кодирования. Поддержка DNxHD включена в стабильную версию FFmpeg 0.5, выпущенную 10 марта 2009 года. Это позволяет нелинейным видеоредакторам Linux Cinelerra и Kdenlive использовать DNxHD. На выставке NAB в апреле 2012 года Brevity представила специализированный алгоритм для ускоренной передачи и кодирования файлов DNxHD.
Технические детали
DNxHD очень похож на JPEG. Каждый кадр независим и состоит из коэффициентов DCT, закодированных с помощью VLC. Заголовок состоит из множества частей и может включать таблицы квантования и 2048 бит пользовательских данных. Каждый кадр также содержит два GUID и метку времени. Заголовок кадра упакован в слова в формате big endian. Собственно данные кадра состоят из упакованных макроблоков, использующих технику, практически идентичную JPEG: предсказание составляющей постоянного тока и коды переменной длины с кодированием серий для остальных 63 коэффициентов. Коэффициент постоянного тока не квантуется. Кодек поддерживает информацию об альфа-канале.