Dirac


Diracалгоритм для кодирования и декодирования несжатого видео. Он был представлен BBC в январе 2004 как основа нового кодека, предназначенного для передачи видео через Интернет. Кодек был завершён 21 января 2008 года и последующие разработки будут включать только исправление ошибок и другие критические факторы[1]. Первоначальной целью было обеспечить возможность декодировать видео в стандартном разрешении PAL TV (720x576i пикселей при 25 кадрах в секунду) в режиме реального времени. Текущая реализация позволяет декодировать видео на скорости около 17 кадров в секунду при использовании 3 ГГц процессора, но также планируется усиленная оптимизация. Данная реализация написана на C++ и выпущена на SourceForge.net 11 марта 2004 года. Имеется версия[2], написанная с использованием технологии CUDA, ускоряющей вычисления путём использования возможностей видеокарты, за счёт чего скорость декодирования в несколько раз больше.

Также как и другие распространённые кодеки, такие так MPEG-4 Part 2 или WMV 7, Dirac может сжимать любой размер картинки от низкого разрешения QCIF (176x144 пикселей) до HDTV (1920x1080) и выше.

Dirac использует сжатие с помощью вейвлетов вместо дискретного косинусного преобразования, применяющегося в большинстве старых кодеков (таких как H.264 или VC-1). Dirac является одним из нескольких проектов, пытающихся использовать вейвлеты для сжатия видео. Другими проектами являются Rududu, Snow и Tarkin. Сжатие с помощью вейвлетов уже доказало свою жизнеспособность в стандарте JPEG 2000, применяющемся для компрессии фотографических изображений.

Профессиональный профиль кодека 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.