Разделы

Телеком Инфраструктура

Передача речи: выбираем оптимальный кодек

В любых ВКС или VoIP-сервисах при передаче голоса для его шифрования применяют кодеки. Представленные на рынке варианты используются и в определенной степени поддерживаются компаниями-поставщиками услуг, однако, несмотря на многочисленные попытки, к единому стандарту пока прийти не удалось. Какой же кодек в тех или иных условиях справляется быстрее и качественнее? Рассмотрим результаты эксперимента.

В ходе эксперимента была опрошена группа независимых слушателей, которые проводили оценку качества кодеков. Градация оценок находилась в диапазоне от 1 до 5. Ниже представлены результаты проведенного анкетирования.

Кодирование/декодирование: мужской голос

Рассмотрим кодирование мужского голоса. Согласно данным эксперимента, во всех группах скоростей лучшим по качеству был признан кодек Opus.

Оценка качества кодирования/декодирования мужского голоса

Источник: TrueConf, 2012

В группе 16 Кбит/с явным аутсаудером является кодек g.729a: при кодировании отчетливо слышны искажения, при этом качество звука явно хуже, чем при использовании остальных кодеков.

Оценка качества кодирования/декодирования мужского голоса: расшифровка*

16 кбит/с
24 кбит/с
32 кбит/с
Средняя оценка качества Скорость код-я/ декод-я, ms Средняя оценка качества Скорость код-я / декод-я, ms Средняя оценка качества Скорость код-я/ декод-я
SPEEX 4,0 2673 / 382 3,75 3677 / 354 4,5 4685 / 303
ISAC 3,0 597 / 182 4,25 543 / 168 4,4 636 / 189
OPUS 4,5 1310 / 96 5,0 1406 / 167 4,75 1364 / 142
G.729.a 2,75 346 / 78 - - - -
G.722.1 - - 4,6 26 / 32 - -

* В данном опыте был использован мужской дикторский голос длительностью 40 секунд с частотой дискретизации 16000 Гц (категория wideband)

Источник: TrueConf, 2012

Тем не менее, это самый быстрый кодек в данной категории. Наихудшие показатели производительности показал SPEEX при среднем качестве.

Кодек Opus и другие альтернативы

Варианты возможных HD-рекомендаций кодирования речи для коммуникации в интернете уже более 3 лет обсуждаются на международном уровне в одной из рабочих групп IETF (Internet Engineering Task Force), объединяющей разработчиков различных интернет-приложений и производителей оборудования связи. SPIRIT входит в эту рабочую группу.

Читать далее

В группе 24 Кбит/с аутсайдером по всем параметрам оказался SPEEX. Суммарное время кодирования/декодирования для него достигло 4 секунд. По качеству он занял последнюю позицию. Самым быстрым оказался G.722.1 – он значительно быстрее всех остальных смог справиться с кодированием/декодированием, при этом качество звука высокое. Производительность кодека Opus при изменении битрейта осталась практически прежней, при этом качество звука оказалось неотличимым от эталона. Это делает Opus самым качественным кодеком в данной номинации.

В группе 32 Кбит/с участвовало только 3 кодека. Неизменно лучшим оказался Opus. iSAC и SPEEX показали приблизительно одинаковые результаты по оценке за качество кодирования.

Кодирование/декодирование: женский голос

Рассмотрим данные обработки женского голоса. В первых двух категориях результаты сравнения получились отличными от "мужской" категории.

Оценка качества кодирования/декодирования женского голоса

Источник: TrueConf, 2012

CNews, ВТБ и Институт ИИ МГУ назвали имена победителей премии Data Fusion Awards 2026
CNews, ВТБ и Институт ИИ МГУ назвали имена победителей премии Data Fusion Awards 2026 цифровизация

В категориях 16 кбит/с и 24 кбит/с наихудшие результаты по качеству показал iSAC. При сжатии этим кодеком семплов с участием женского голоса на высоких тональностях отчетливо слыше треск. Данные артефакты присутствуют и при использовании SPEEX, но они не так явно выражены.

Оценка качества кодирования/декодирования женского голоса: расшифровка*

16 кбит/с
24 кбит/с
32 кбит/с
Средняя оценка качества Скорость код-я/ декод-я, ms Средняя оценка качества Скорость код-я / декод-я, ms Средняя оценка качества Скорость код-я/ декод-я
SPEEX 3,75 5451 / 721 4,0 5849 / 691 4,25 8537 / 753
ISAC 3,0 1022 / 358 3,7 1191 / 487 4,25 1203 / 386
OPUS 4,5 2512 / 231 4,75 2618 / 214 5,0 2611 / 200
G.729.a 3,9 611 / 154 - - - -
G.722.1 - - 4,4 61 / 59 - -

* В данном опыте был использован профессиональный дикторский голос, длительностью 1 мин 13 секунд, с частотой дискретизации 16000 Гц (категория wideband).

Источник: TrueConf, 2012

Неожиданно g.729a обогнал и SPEEX и iSAC в категории 16 кбит/с, закодировав женский голос без ощутимых артефактов. Победителем во всех категориях снова оказался Opus.

 «Северсталь» нашла замену для Microsoft Orchestrator на основе российской платформы автоматизации управления
«Северсталь» нашла замену для Microsoft Orchestrator на основе российской платформы автоматизации управления Импортонезависимость

С точки зрения производительности результаты по скорости кодирования/декодирования подобны полученным при работе с мужским голосом.

Итоги и рекомендации

В целом на основе результатов исследования можно сделать вывод о том, что в категории скоростей «более 24-х кбит/с» рекомендуется использовать Opus . Он имеет высокое качество и приемлемую скорость кодирования/декодирования.

В свою очередь, в категории "от 16 до 24 кбит/с" рекомендуется использовать G.722.1 как самый быстрый из всех при хорошем качестве. Если требования к производительности не критичны, то здесь также можно использовать Opus.

По данным эксперимента, в категории "до 16 кбит/с" рекомендуется использовать Opus, который обеспечивает самое высокое качество звука.

Исследование также показало, что кодек SPEEX не рекомендуется использовать в связи с большой вычислительной нагрузкой, а ISAC не стоит использовать при кодировании женского голоса.

Михаил Готальский