Относительно недавно появились новые аудиокодеки —
Microsoft Satin и
Google Lyra. WebRTC-аналитик Цахи Левент-Леви
сравнил их с распространенным Opus.
Вкратце: Google Lyra разработан для передачи речи, отлично показывает себя на низком битрейте около 3 кбит/с и только здесь может соперничать с Opus. Microsoft Satin в будущем может полностью заменить Opus.
OpusOpus — сейчас основной кодек для голоса в WebRTC. В нем объединены два кодека, для речи используется SILK, для музыки — CELT:
— Диапазон сжатия составляет 6-510 кбит/с. Для WebRTC реально используется при 6-40 кбит/с, чаще 26-30 кбит/с.
— Работает в диапазоне от узкого до полнополосного стерео при низком битрейте.
— Задержка всего 26,5 мс, это очень хороший показатель.
— Автоматически квалифицирует входящий сигнал как речь или как шум для выбора между SILK и CELT.
Microsoft SatinMicrosoft Satin на базе искусственного интеллекта (на замену собственному Silk) на момент анонса уже использовался в Teams и Skype для двусторонних вызовов:
— Работа со сверхширокополосной речью с битрейтом от 6 кбит/с.
— Полнополосная стереомузыка с битрейтом от 17 кбит/с.
— Хорошее качество звука даже при большой потере пакетов.
— Улучшенные алгоритмы резервирования данных для обеспечения защиты при резкой потере пакетов.
Google LyraGoogle Lyra тоже на базе искусственного интеллекта, на момент анонса на стадии развертывания:
— Кодек для сжатия именно речи на самых низких битрейтах.
— Задержка обработки до 90 мс.
— Создан для работы на скорости 3 кбит/с.
— Оптимизирован для 64-битных ARM платформ с Android.
На данный момент и Lyra, и Satin используются только внутри проприетарных продуктов Google и Microsoft. По мнению Левент-Леви, вендорам имеет смысл объединить усилия, чтобы сделать Satin третьим официальным кодеком WebRTC (наряду с G.711 и Opus). Lyra не имеет смысла как самостоятельный продукт, кодек надо дотягивать до Satin, чтобы с ним конкурировать, или, как вариант, встраивать его в Satin и сотрудничать. Либо встраивать его в Opus.
Подробности — в
блоге автора
_________