Codec2: сжатие речи до 2400 бит/с (под LGPL2)

    Вышла первая альфа-версия свободного голосового кодека Codec2, который предназначен для сверхплотного кодирования речи на узких каналах. Например, 3,75 секунды различимой речи он сжимает всего в 1050 байт. Коммуникационное качество обеспечивается потоком 2550 бит/с.

    Выпущены симулятор под Linux/gcc (c2sim) для тестирования различных опций кодирования, отдельный кодер (c2enc) и декодер (c2dec) с интерфейсом через командную строку, они работают примерно в 10 раз быстрее реального времени на современном ПК. Скачать исходники и документацию можно здесь.

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

    Разработчиком Codec2 является Дэвид Роуи (David Rowe), который раньше приложил руку к созданию Speex. Он поставил задачу добиться передачи голоса в коммуникационном качестве в потоке 2400 бит/с и ниже, то есть сделать свободную альтернативу MELP.

    Проблему дефицита свободных кодеков в дитапазоне до 5 кбит/с поднял Брюс Перенс в прошлом году. Он связался с разработчиками Speex и предложил им изучить ситуацию.

    Codec2 основан на научных работах 60-80-х годов и вроде не подпадает под действующие патенты. Cинусоидальное кодирование речи впервые упоминается в 1984-м году, а сам Роуи подробно описал техники гармонического синусоидального кодирования в своей научной работе 1997 года. Кодек опубликован под лицензией LGPL2.

    На образцах ниже можно сравнить качество кодирования Codec2 v0.1 (2550 бит/с) и MELP (2400 бит/с).

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

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

    Конечно, Дэвид Роуи планирует ещё значительно доработать Codec2. За свежими новостями можно следить в листе рассылки.
    Поддержать автора
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 21

      +1
      По-моему, Codec2 лучше жмёт мужской голос, но хуже — женский. Так что баш на баш.
        0
        Ну это пока альфа версия. Подождем когда доведут кодек.
          0
          Жмет одинаково.
          Он добавляет низкочастотный шум, которого за мужским голосом не так слышно.
          В принципе убрать его не проблема.
            0
            по-моему MELP тоже не ахти с женским справился
              +1
              Пытается жать с учётом предсказания мысли на основе логики? :-)
            +1
            «они работают примерно в 10 раз быстрее реального времени на современном ПК»
            как-то не по инженерному совсем, что значит современный ПК ??? цифры бы поконкретней.
              +1
              Ну это он сказал просто для понимания порядка величин, видимо, обычный средний ПК. Разницы нет, в 5 или 15 раз быстрее, главное, что не медленнее во столько раз.
                +3
                да дело в том, что не только же на ПК использовать этот кодек можно. Как раз на мобильных устройствах будет намного актуальней. А там измерять «попугаями» как раз нельзя: разные архитектуры, операционные системы, версии этих ОС, и просто непредсказуемый зоопарк конфигураций железа.
              +5
              а тем временем еще советская спецаппаратура Т230 могла кодить голос в 2400 в КВ радиоканале еще в 80-х
                0
                Имхо, с тех пор мало что изменилось по-моему в «нашем» военном техническом оснащении
                  0
                  Да — только оно при этом было гарантированной стойкости
                +1
                … Коммуникационное качество обеспечивается потоком 2550 бит/с…
                … работают примерно в 10 раз быстрее реального времени на современном ПК...

                С нетерпением жду в свободной говорилки на этом. Ато Скайп, вот, несоизмеримо жирнее, на сколько я понимаю.
                  +1
                  А как насчёт сравнения с другими голосовыми аудиокодеками типа Speex или AMR?
                    –1
                    Или скажем с a-law/m-law, для начала.
                      +3
                      а чего с 711 то сравнивать, там 64Kb/s
                    0
                    Для реализации PTT over GPRS в мобильных сетях очень бы пригодилось. Правда, боюсь, там давно всё стандартизировано уже.
                      +2
                      2550 бит/с ≈ 2,5 кбит/с
                      1 минута = 60 сек * 2,5 кбит/с = 150 кбит ≈20 кб
                      1 мб ≈ 1000 / 20 = 50 минут

                      Получается что при стоимости 1мб мобильного трафика в 2 рубля, стоимость минуты — 4 копейки!
                        0
                        Я вот непойму, нельзя что ли было образцы подлиннее сделать? Нихренаж не разберешь на таком отрывочке. Не в смысле слов, а в смысле разных речевых ситуаций и реакции кодека.
                          0
                          Действительно. Да и оригинальные отрывки качеством не блещут — короткие, приглушенные, синтезированные.
                          0
                          Новый кодек — это несомненно здорово…
                          Но ещё один поддерживаемый кодек на вашей АТС, на мой взгляд не есть хорошо.
                          Объяснюсь: у ваших абонентов может быть совершенно разное оборудование, у одного старая Сипура spa-841(на которую уже не выпускают прошивок), у другого новомодный Siemens С470IP.
                          И несмотря на то, что на обоих аппаратах будет поддерживаться, скажем G.711 или G.729… но в запросе на АТС один из них укажет Codec2, а второй G.723. В итоге: АТС начнёт заниматься перекодированием, и чем больше кодеков, тем больше вариантов. Не могу говорить про весь мир, но обеспечить канал, для кодеков типа G.711(не говоря уже о кодеках типа G.729..) мне кажется вполне реально. Был на днях у родственников в деревне в Архангельске — народ Скайповские видеозвонки гоняет… так что для чистого голоса канала уж точно должно хватить…
                            0
                            Скомпилировал этот кодек для .NET ради фана. Если интересно поиграться, то код лежит тут: Codec24Net.

                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                            Самое читаемое