Dirac — алгоритм для кодирования и декодирования несжатого видео. Он был представлен BBC в январе 2004 как основа нового кодека, предназначенного для передачи видео через Интернет. Кодек был завершён 21 января 2008 года и последующие разработки будут включать только исправление ошибок и другие критические факторы[1]. Первоначальной целью было обеспечить возможность декодировать видео в стандартном разрешении PAL TV (720x576i пикселей при 25 кадрах в секунду) в режиме реального времени. Текущая реализация позволяет декодировать видео на скорости около 17 кадров в секунду при использовании 3 ГГц процессора, но также планируется усиленная оптимизация. Данная реализация написана на C и выпущена на SourceForge.net 11 марта 2004 года. Имеется версия[2], написанная с использованием технологии CUDA, ускоряющей вычисления путём использования возможностей видеокарты, за счёт чего скорость декодирования в несколько раз больше.
Dirac | |
---|---|
Расширение |
.drc |
Разработчик | BBC |
Тип формата | алгоритм сжатия видео |
Сайт | dirac.com |
dirac-research | |
---|---|
Тип | Видеокодек, эталонная реализация |
Разработчик | BBC Research Department |
Операционная система | Кроссплатформенное ПО |
Последняя версия | 1.0.2 (12 февраля 2010) |
Лицензия | MPL 1.1, GNU GPL 2, GNU LGPL 2.1 |
Сайт | diracvideo.org |
Schrödinger | |
---|---|
Тип | Видеокодек |
Разработчик | David Schleef |
Операционная система | Кроссплатформенное ПО |
Последняя версия | 1.0.11 (23 января 2012) |
Лицензия | MPL 1.1, GNU GPL 2, GNU LGPL 2, MIT License |
Сайт | diracvideo.org |
Кодек назван в честь английского физика Поля Дирака.
Технология
правитьТакже как и другие распространённые кодеки, такие так MPEG-4 Part 2 или WMV 7, Dirac может сжимать любой размер картинки от низкого разрешения QCIF (176x144 пикселей) до HDTV (1920x1080) и выше.
Dirac использует сжатие с помощью вейвлетов вместо дискретного косинусного преобразования, применяющегося в большинстве старых кодеков (таких как H.264 или VC-1). Dirac является одним из нескольких проектов, пытающихся использовать вейвлеты для сжатия видео. Другими проектами являются Rududu, Snow и Tarkin. Сжатие с помощью вейвлетов уже доказало свою жизнеспособность в стандарте JPEG 2000, применяющемся для компрессии фотографических изображений.
Dirac Pro
правитьПрофессиональный профиль кодека Dirac Pro был реализован в сентябре 2008 года.[3] Профиль рассчитан на применение в монтажных, архивных и вещательных системах, где существуют повышенные требования к качеству сжатого видео. Алгоритм сжатия имеет открытый код и распространяется по лицензии Royalty-free.
Кодек отличается от его бытовой версии использованием только внутрикадрового сжатия, то есть поток содержит только I-кадры. В кодеке применяется упрощенное статистическое кодирование, пригодное для декодирования в реальном времени при очень высокой скорости потока. Степень сжатия — от 2:1 до 16:1, но при большей степени сжатия усложняются вычисления и увеличивается время кодирования.
При передаче сигналов стандарта 1080p/50 вместо требуемых каналов Dual Link HD-SDI (две линии по 1,5 Гбит/с) или 3G-SDI (3 Гбит/с) возможно применять HD-SDI (1,5 Гбит/с). В таком случае коэффициент компрессии составляет 2,5:1. А сигналы 1080i/50 могут быть сжаты и переданы со скорость 600 Мбит/с по гигабитной Ethernet сети. Также в случае применения сжатия возможно уменьшения потока до 270 Мбит/с для передачи сигналов 1080i/50 по каналу SDI. В этом случае коэффициент компрессии будет 5:1.
Согласно спецификации поддерживаются форматы от QSIF525 (176 × 120 пикселей) вплоть до последних UHDTV 8K-50 (7680 × 4320 пикселей, 50 кадров/с) и цифровых киноформатов 2K и 4K D-Cinema.[4]
Кодек поддерживает значительное число форматов:
- кадровая частота — 23,97…60 Гц
- дискретизация — 4:2:0, 4:2:2, 4:4:4 и RGB
- разрядность — 8, 10, 12 (до 16)
- поддержка чересстрочного и прогрессивного форматов.
VC-2
правитьКодек Dirac Pro был направлен в SMPTE для стандартизации как VC-2 Codec. В 2010 году SMPTE приняли в качестве стандарта видеокомпрессии VC-2.
- SMPTE 2042-1-2009 VC-2 Video Compression
- SMPTE 2042-2-2009 VC-2 Level Definitions
- RP (Recommended Practices) 2047-1-2009 — VC-2 Mezzanine Level Compression of 1080P High Definition Video Sources
- SMPTE 2047-2-2010 Carriage of VC-2 Compressed Video over HD-SDI — Передача сжатого видео VC-2 по интерфейсу HD-SDI
- RP 2042-3-2010 — VC-2 Conformance Specification
Проект Schrödinger
правитьВторая реализация кодека dirac, названная «Schrödinger» (Шрёдингер), была нацелена на создание переносимых библиотек, а также плагинов для GStreamer. Проект был написан на языке программирования C. Также стало возможным использовать Dirac внутри Ogg-контейнеров. Проект был назван в честь австрийского физика Эрвина Шрёдингера.
22 февраля 2008 года была выпущена финальная версия Schrödinger 1.0.0. Данная версия может декодировать видео с разрешением HD720/25p в режиме реального времени на ноутбуке с процессором класса Core Duo.
Примечания
править- ↑ Спецификация Dirac . Дата обращения: 17 мая 2008. Архивировано 14 мая 2008 года.
- ↑ GPU-Accelerated Dirac Video Codec Архивировано 4 июня 2008 года.
- ↑ Dirac 1.0.0 released. [LWN.net] . Дата обращения: 4 января 2011. Архивировано 6 июня 2012 года.
- ↑ Dirac Specification Version 2.2.3 Issued: September 23, 2008 Архивировано 3 мая 2015 года.
Литература
править- Питер Уилсон, Тим Борер, Томас Дэвид. Подготовил Валерий Хлебородов. Семейство систем цифрового сжатия DIRAC расширяется // «625» : журнал. — 2007. — № 03. Архивировано 10 декабря 2024 года.
Ссылки
править- Сайт проекта Архивная копия от 10 мая 2008 на Wayback Machine (англ.)
- Страница на SourceForge Архивная копия от 9 мая 2008 на Wayback Machine (англ.)
- Dirac Pro (англ.)