Новый кодек Codec2 700C сжимает речь до 700 бит/c



В программе для цифровой радиопередачи FreeDV скоро можно будет проверить новый кодек в работе

Автор свободного голосового кодека Codec2, предназначенного для сверхплотного кодирования речи на голосовых каналах, выпустил новую версию Codec2 700C[1], в которой ему удалось закодировать различимую человеческую речь всего в 700 бит/с. Это значит, что трёхсекундная голосовая передача с различимой речью займёт всего лишь 260 байт.

Разумеется, такие технологии совершенно неуместны для сжатия музыки или другого мультимедийного контента, но это незаменимая вещь для коммуникации в условиях сильного ограничения на пропускную способность каналов связи. Например, при цифровой передаче звука с Марса.

Такое сверхплотное сжатие может пригодиться не только для космического применения, но также для любительского радио и для различных военных задач, спутниковой связи, закриптованных устройств. Например, сейчас армия США использует стандарт кодирования
MELP[2] (Mixed Excitation Linear Prediction), но это интеллектуальная собственность компаний Texas Instruments (алгоритм и исходный код кодека MELP на 2400 бит/с), Microsoft (транскодер 1200 бит/с), Thales Group (600 бит/с) и AT&T (препроцессор шума). Этот же проприетарный стандарт MELP используется в спутниковых коммуникациях, защищённой голосовой связи и защищённых радиопередатчиках. Стандартизация и разработка MELP велась при поддержке АНБ и НАСА.

Очевидно, что людям нужен кодек аналогичного назначения, но свободный от патентных обременений MELP.

Разработчик звукового кодека Codec2 — Дэвид Роуи[3] (David Rowe). Он ведёт проект уже несколько лет. Первая альфа-версия Codec2 вышла ещё в сентябре 2010 года[4]. Этот инженер ранее приложил руку к созданию свободного аудиоформата для кодирования речи Speex[5], разработка которого была прекращена в пользу свободного формата Opus[6]. Затем Дэвид поставил задачу добиться передачи голоса в коммуникационном качестве в потоке 2400 бит/с и ниже, то есть сделать свободную альтернативу MELP.

«Я продолжаю работу над разработкой режима цифрового кодирования голоса, который может конкурировать с однополосной модуляцией[7], — пишет[8] Дэвид Роуи. — На большую часть 2016 года я отвлёкся от этой работы и занимался оплачиваемым проектом коммерческого высокочастотного (HF) модема. Но с декабря я снова работаю над кодеком 700 бит/с. Цель состоит в том, чтобы обеспечить качество примерно такое же, как у нынешнего режима 1300 бит/с. Это можно использовать в когерентном PSK-модеме, а может и в 4FSK-модеме при испытаниях на каналах HF».

Уместно пояснить, что PSK-модем — устройство для относительно нового цифрового вида передачи информации с узкополосной двухпозиционной фазовой модуляцией.

Автор проделал немалую работу, чтобы оптимизировать кодек. Блок-схема обработки сигнала в новом кодеке показана ниже. Дэвид Роуи пишет, что ключевым этапом этого алгоритма является передискретизация (ресэмплинг), когда варьируемое по времени количество амплитуд гармоник преобразуется в фиксированное количество (K=20) сэмплов. На низких частотах берётся больше сэмплов, чем на более высоких частотах, что соответствует логарифмическому восприятию человеческим ухом. Экспериментальным путём Дэвид пришёл к величине именно K=20.

Основная часть работы Дэвида Роуи касается именно перцептивного сжатия звука таким образом, чтобы наиболее оптимально соответствовать логарифмическим особенностям человеческого слуха, когда восприимчивость к разным частотам изменяется по логарифмическому закону.


3D-график соотношения амплитуды в дБ по времени (300 кадров) с параметром передискретизации K=20 частотных векторов для звукового образца hts1a (его можно прослушать ниже в таблице). Видно изменение сигнала во времени и низкие значения на высоких частотах, которые хуже воспринимаются человеческим ухом

Вообще, проблему дефицита свободных кодеков в дитапазоне до 5 кбит/с поднял Брюс Перенс[9] в 2009 году. Он связался с разработчиками Speex и предложил им изучить ситуацию. Codec2 основан на научных работах 60-80-х годов и вроде не подпадает под действующие патенты. Cинусоидальное кодирование речи впервые упоминается в 1984-м году, а сам Роуи подробно описал техники гармонического синусоидального кодирования в своей научной работе 1997 года. Кодек опубликован под свободной лицензией LGPL2.

На образцах ниже можно сравнить образцы предыдущей версии кодека на 1300 бит/с и новой версии на 700 бит/с.

У каждого человека свои особенности слуха, поэтому автор просит оставить отзывы: насколько различимыми вам кажутся образцы на 700 бит/с, в сравнении с образцами на 1300 бит/с? Дэвид Роуи считает, что они примерно одинаковые: некоторые образцы немного лучше (cq_ref), а другие чуть хуже (ve9qrp_10s, mmt1). Артефакты везде разные. Но в любом случае — это ведь почти двукратное сокращение полосы!

Для сравнения, вот сравнение альфа-версии кодека Codec2 v0.1 (2550 бит/с) от 2010 года и проприетарного кодека MELP (2400 бит/с).

Мужской голос:
Оригинал
Codec2 v0.1 (2550 бит/с)
MELP (2400 бит/с)[10][11][12]

Женский голос:
Оригинал
Codec2 v0.1 (2550 бит/с)
MELP (2400 бит/с)[13][14][15]

В ближайшие недели Дэвид Роуи собирается открыть кодек 700C через интерфейсы для программы цифрового радио FreeDV[16] и провести первые испытания в эфире.

Использованны источники

  1. ^ Codec2 700C (www.rowetel.com)
  2. ^ MELP (en.wikipedia.org)
  3. ^ Дэвид Роуи (www.rowetel.com)
  4. ^ сентябре 2010 года (habrahabr.ru)
  5. ^ Speex (speex.org)
  6. ^ Opus (opus-codec.org)
  7. ^ однополосной модуляцией (ru.wikipedia.org)
  8. ^ пишет (www.rowetel.com)
  9. ^ Брюс Перенс (perens.com)
  10. ^ Оригинал (www.rowetel.com)
  11. ^ Codec2 v0.1 (2550 бит/с) (www.rowetel.com)
  12. ^ MELP (2400 бит/с) (www.rowetel.com)
  13. ^ Оригинал (www.rowetel.com)
  14. ^ Codec2 v0.1 (2550 бит/с) (www.rowetel.com)
  15. ^ MELP (2400 бит/с) (www.rowetel.com)
  16. ^ FreeDV (freedv.org)
По теме: ( из рубрики )

    Оставить отзыв

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    *
    *

    три × пять =

    Top