Организация Xiph.Org, занимающаяся разработкой свободных видео- и аудиокодеков, представила (http://lists.xiph.org/pipermail/opus/2017-June/003922.html) релиз аудиокодека Opus 1.2.0 (http://opus-codec.org/), который отличается высоким качеством кодирования и минимальной задержкой как при сжатии потокового звука с высоким битрейтом, так и при сжатии голоса в ограниченных по пропускной способности приложениях VoIP-телефонии.
Ключевые новшества (https://people.xiph.org/~jm/opus/opus-1.2/) Opus 1.2:
- Проведена работа по увеличению качества передачи голоса в диапазоне полосы пропускания 12-20 kbit/s. Значительно улучшена реализация гибридного режима передачи голоса, при котором для частот до 8 kHz применяется SILK, а с 8 до 20 kHz - CELT. Для повышения качества передачи голоса проведена настройка психоакустических (https://jmvalin.ca/papers/aes135_opus_celt.pdf) методов. Обеспечено более агрессивное занятие более широкой полосы пропускания при передаче голоса, включая начало передачи с битрейтом 14 kbit/s;
- Улучшена реализация кодирования с переменным битрейтом (VBR) для гибридных режимов, кодировщик теперь использует VBR и для низких битрейтов, вплоть до 32 kb/s;
- Проведена работа по увеличению качества передачи музыки в диапазоне битрейта 32-48 kbit/s. Если изначально Opus обеспечивал приемлемое качество только для битрейтов 64 kb/s и 96 kb/s, то применение улучшенной техники кодирования с переменным битрейтом позволило добиться возможности кодирования музыки с битретеми 32-48 kbit/s без возникновения слышимых артефактов;
- Проведена обширная оптимизация, которая позволила снизить нагрузку на CPU и увеличить производительность. Внесены как общие оптимизации качества кода, так и задействованы специфичные процессорные инструкции SSEx для x86 и Neon для ARM. Улучшение качества кода определения типа CPU позволила включить аппаратные оптимизации на этапе компиляции даже при использовании старых CPU;
- Поддержка прямого кодирования кадров, продолжительностью 80, 100 и 120 мс, без применения repacketizer, который получал кадр в 120 мс путём объединения двух кадров по 60 мс;
- Для режима CELT представлена поддержка DTX (https://ru.wikipedia.org/wiki/Discontinuous_transmission) (Discontinuous transmission, остановка передачи во время пауз в разговоре);
- Улучшено качество передачи с постоянным битрейтом (CBR) в режиме SILK при низких битрейтах;
- Улучшена реализация техники упреждающей коррекции ошибок (FEC, forward-error correction), полезной в условиях большой потери пактов в канале связи. FEC теперь может применяться на более низких битрейтах (до 24 kb/s), чем раньше, и учитывается при распределении битового потока в гибридном режиме;
- Для платформы Windows реализация Opus теперь поставляется в видео одной библиотеки, без выделения SILK и CELT в разные библиотеки;
- Реализована, но пока не добавлена в стандарт, поддержка режима сферического объёмного звучания Ambisonics (https://en.wikipedia.org/wiki/Ambisonics), востребованного в системах виртуальной реальности. В Opus 1.2 уже поддерживается метод прямого кодирования каналов ambisonics, но пока отсутствует матричное кодирование.
Напомним, что кодек Opus создан путем комбинации лучших технологий из разработанного организацией Xiph.org кодека CELT (http://www.celt-codec.org/) и открытого компанией Skype кодека SILK (https://www.opennet.ru/opennews/art.shtml?num=25802). Кроме Skype и Xiph.Org в разработке Opus также приняли участие такие компании, как Mozilla, Octasic, Broadcom и Google. Opus отличается высоким качеством кодирования и минимальной задержкой как при сжатии потокового звука с высоким битрейтом, так и при сжатии голоса в ограниченных по пропускной способности приложениях VoIP-телефонии. Ранее Opus был признан (https://www.opennet.ru/opennews/art.shtml?num=24259) лучшим кодеком при использовании битрейта 64Kbit (Opus обогнал (http://opus-codec.com/comparison/) таких конкурентов, как Apple HE-AAC, Nero HE-AAC, Vorbis и AAC LC). Из продуктов, поддерживающих Opus из коробки, можно отметить браузер Firefox, фреймворк GStreamer и пакет FFmpeg.
Эталонные реализации кодировщика и декодировщика Opus распространяются (http://opus-codec.org/license/) под лицензией BSD. Полные спецификации формата общедоступны, бесплатны и утверждены в качестве интернет-стандарта. Все используемые в Opus патенты предоставлены участвовавшими в разработке компаниями для неограниченного пользования без выплаты лицензионных отчислений. Все связанные с Opus интеллектуальные права и лицензии на патенты автоматически делегируются для использующих Opus приложений и продуктов, без необходимости дополнительного согласования. Отсутствуют ограничения на область применения и создание альтернативных сторонних реализаций. При этом все предоставленные права отзываются в случае развязывания затрагивающего технологии Opus патентного разбирательства против любого пользователя Opus.
Основные возможности Opus:
- Битрейт от 6 до 510 Kbit/s;
- Частота дискретизации от 8 до 48KHz;
- Продолжительность кадров от 2.5 до 120 миллисекунд;
- Поддержка постоянного (CBR) и переменного (VBR) битрейтов;
- Поддержка узкополосного и широкополосного звука;
- Поддержка голоса и музыки;
- Поддержка стерео и моно;
- Поддержка динамической настройки битрейта, пропускной способности и размера кадра;
- Возможность восстановления звукового потока в случае потери кадров (PLC);
- Поддержка до 255 каналов (многопоточные кадры)
- Доступность реализаций с использованием арифметики с плавающей и фиксированной запятой.
URL: http://lists.xiph.org/pipermail/opus/2017-June/003922.html
Новость: http://www.opennet.ru/opennews/art.shtml?num=46734