Введение
Формат сжатия видео Dirac (и Dirac Pro, подмножество, стандартизированное как SMPTE VC 2) — это открытый и не требующий выплаты роялти формат сжатия видео, спецификация и программный видеокодек, разработанный BBC Research & Development. Dirac был разработан для обеспечения высококачественного сжатия видео для Ultra HDTV и конкурировал с существующими форматами, такими как H.264. Версия 2.2.3 полной спецификации Dirac, включая компенсацию движения и межкадровое кодирование, была выпущена через несколько дней. Dirac Pro использовался внутри BBC для передачи HDTV-изображений во время Олимпийских игр в Пекине в 2008 году. Были разработаны две программные реализации видеокодеков с открытым исходным кодом и без роялти: libschrodinger и dirac research. Реализации формата были названы в честь теоретических физиков Пола Дирака и Эрвина Шрёдингера, которые разделили Нобелевскую премию по физике в 1933 году.
Dirac (and Dirac Pro, a subset standardised as SMPTE VC 2) is an open and royalty free video compression format, specification and software video codec developed by BBC Research & Development. Dirac aimed to provide high quality video compression for Ultra HDTV and competed with existing formats such as H.264. Version 2.2.3 of the full Dirac specification, including motion compensation and inter frame coding, was issued a few days later. Dirac Pro was used internally by the BBC to transmit HDTV pictures at the Beijing Olympics in 2008. Two open source and royalty free video codec software implementations, libschrodinger and dirac research, were developed. The format implementations were named in honour of the theoretical physicists Paul Dirac and Erwin Schrödinger, who shared the 1933 Nobel Prize in physics.
Технология
Dirac поддерживает разрешения HDTV (1920×1080) и выше, и заявляется, что обеспечивает значительное снижение скорости передачи данных и повышение качества по сравнению с форматами сжатия видео, такими как MPEG 2 Part 2, MPEG 4 Part 2 и их конкурентами, такими как Theora и WMV. Разработчики Dirac предварительно заявили о "двукратном снижении битрейта по сравнению с MPEG 2 для видео высокой четкости", что делает его сопоставимым с VC-1 и более простыми профилями H.264. Dirac поддерживает как постоянный, так и переменный битрейт. При использовании синтаксиса низкой задержки битрейт будет постоянным для каждой области (фрагмента Dirac) в кадре, чтобы обеспечить постоянную задержку. Dirac поддерживает режимы сжатия с потерями и без потерь. Dirac может использоваться в контейнерных форматах Ogg и Matroska, а также зарегистрирован для использования в формате базовых медиафайлов ISO (MP4) и транспортных потоках MPEG.
Реализация программного обеспечения
Первоначально были разработаны две программные реализации. Референтная реализация BBC, первоначально называвшаяся Dirac, но переименованная в dirac research во избежание путаницы, была написана на C++ и выпущена под лицензиями Mozilla Public License, GNU GPL 2 и GNU LGPL. Версия 1.0.0 этой реализации была выпущена 17 сентября 2008 года и определяет формат битового потока Dirac. К марту 2010 года, с выпуском версии Schrödinger 1.0.9, она превзошла dirac research "в большинстве сценариев кодирования как по скорости, так и по визуальному качеству". С этим выпуском большинство инструментов кодирования из dirac research были портированы в Schrödinger, что обеспечило Schrödinger такую же или более высокую эффективность сжатия, чем dirac research. Разработка Schrödinger была прекращена после выпуска 1.0.11 в 2012 году. После стандартизации Dirac Pro как SMPTE VC 2 началась разработка эталонного кодера VC 2 с открытым исходным кодом. Код предоставляется BBC в репозитории git и доступен на GitHub. На BBC была внедрена система тестирования качества кодирования для оценки эффективности новых инструментов кодирования и оперативного исправления ошибок, влияющих на качество.
Просмотр и кодирование на рабочем столе
Просмотр видео в формате Dirac поддерживается VLC media player, начиная с версии 0.9.2 (2008), и приложениями, использующими фреймворк GStreamer. Поддержка также добавлена в FFmpeg. Приложения, способные кодировать видео в формат Dirac, включают FFmpeg, MediaCoder, LiVES и OggConvert.
Выступление
Алгоритмы в оригинальной спецификации Dirac были разработаны для обеспечения производительности сжатия, сопоставимой с основными стандартами сжатия видео того времени. Сравнение кодеков Dirac и H.264, проведенное в 2009 году с использованием реализаций со второго квартала 2008 года, показало, что x264 продемонстрировал незначительно более высокие результаты, чем Dirac. Другое сравнение, выполненное в 2009 году, выявило схожие результаты для контента стандартной четкости, однако не включало сравнение видеоконтента высокой четкости (HD). Эти исследования показывают, что производительность сжатия Dirac близка к производительности MPEG-4 Part 2 Advanced Simple Profile (ASP, известного как DivX). Хотя Dirac приближается к кодированию H.264 с низкой сложностью, видео, закодированное в H.264 с высоким профилем, обеспечит лучшее сжатие при сопоставимом воспринимаемом качестве. С 2010 года были разработаны свободно распространяемые открытые видеокодеки, такие как VP8, VP9 и AV1, которые обладают более высокой производительностью сжатия и получили более широкое распространение, включая такие доминирующие потоковые сервисы, как YouTube и Netflix.