Методы кодирования речевой информации

Эффективность использования пропускной способности IP-сети существенным образом зависит от выбора оптимального алгоритма кодирования/декодирования речевой информации – кодека.

Все существующие типы речевых кодеков по принципу действия можно разделить на три группы:

  • Кодеки с импульсно-кодовой модуляцией (ИКМ) и адаптивной дифференциальной импульсно-кодовой модуляцией (АДИКМ), появившиеся в конце 50-х годов и использующиеся сегодня в системах традиционной телефонии. В большинстве случаев они представляют собой сочетание АЦП/ЦАП.
  • Кодеки с вокодерным преобразованием речевого сигнала возникли в системах мобильной связи для снижения требований к пропускной способности радио тракта. Эта группа кодеков использует гармонический синтез сигнала на основании информации о его вокальных составляющих - фонемах. В большинстве случаев, такие кодеки реализованы как аналоговые устройства.
  • Комбинированные (гибридные) кодеки сочетают в себе технологию вокодерного преобразования/синтеза речи (преобразование речевого сигнала в цифровой поток со скоростью от 1,2 до 4,8 Кбит/с), но оперируют уже с цифровым сигналом посредством специализированных цифровых сигнальных процессоров (Digital Signal Processor, DSP). Кодеки этого типа содержат в себе ИКМ или АДИКМ кодек и реализованный цифровым способом вокодер.

На рисунке 5.6 представлена усредненная субъективная оценка качества кодирования речи для вышеперечисленных типов кодеков.

Рисунок 5.6 - Усредненная субъективная оценка качества кодирования речи для различных типов кодеков

В голосовых шлюзах IP-телефонии понятие кодека подразумевает не только алгоритмы кодирования/декодирования, но и их аппаратную реализацию. Большинство кодеков, используемых в IP-телефонии, описаны в рекомендациях семейства «G» стандарта Н.323 (рисунок 5.7).

Рисунок 5.7 - Стандарты для кодирования речевых сигналов

Рассмотрим некоторые основные кодеки, используемые в шлюзах IP-телефонии операторского уровня.

Кодек G.711
Рекомендация G.711, утвержденная МККТТ в 1984 г., описывает кодек, использующий ИКМ преобразование аналогового сигнала с точностью 8 бит, тактовой частотой 8 Кгц и простейшей компрессией амплитуды сигнала. Скорость потока данных на выходе преобразователя составляет 64 Кбит/с. Для снижения шума квантования и улучшения преобразования сигналов с небольшой амплитудой при кодировании используется нелинейное квантование по уровню (рисунок 5.8) согласно специальному псевдо-логарифмическому закону: А-закону для европейской системы ИКМ-30/32 или µ-закону для североамериканской системы ИКМ-24.

Рисунок 5.8 - Нелинейное квантование по уровню

Первые ИКМ кодеки с нелинейным квантованием появились уже в 60-х годах. Кодек G.711 широко распространен в системах традиционной телефонии с коммутацией каналов. Несмотря на то, что рекомендация G.711 в стандарте Н.323 является основной и первичной, в шлюзах IP-телефонии данный кодек применяется редко из-за высоких требований к скорости передачи (64 Кбит/с) и задержкам в канале передачи. Использование G.711 в системах IP-телефонии обосновано лишь в тех случаях, когда требуется обеспечить максимальное качество кодирования речевой информации при небольшом числе одновременных разговоров.

Кодек G.726
Один из старейших алгоритмов сжатия речи - адаптивная дифференциальная ИКМ (АДИКМ) - был принят в 1984 г. (рекомендация G.726). Этот алгоритм дает практически такое же качество воспроизведения речи, как и ИКМ, однако для передачи информации при его использовании требуется полоса всего в 16-32 Кбит/с. Метод основан на том, что в аналоговом сигнале, содержащем речевую информацию, невозможны резкие скачки интенсивности. Поэтому, если кодировать не мгновенное значение амплитуды сигнала, а ее изменение по сравнению с предыдущим значением, то можно обойтись меньшим числом разрядов. В АДИКМ (ADPCM) изменение уровня сигнала кодируется четырехразрядным числом, при этом частота измерения амплитуды сигнала сохраняется неизменной (8 Кгц). Процесс преобразования не вносит существенной задержки и требует от DSP 5,5-6,4 миллионов операций в секунду (Million Instructions Per Second, MIPS). Кодек G.726 может применяться совместно с кодеком G.711 для снижения скорости кодирования последнего. Кодек G.726 предназначен для использования в системах видеоконференций.

Кодек G.723.1
Рекомендация G.723.1 описывает гибридные кодеки, использующие технологию кодирования речевой информации, сокращенно называемую "множественное импульсное, многоуровневое квантование" (Multy-Pulse - Multy Level Quantization, MP-MLQ). Данный тип кодеков можно охарактеризовать как комбинацию АЦП/ЦАП и вокодера. Своим возникновением гибридные кодеки обязаны системам мобильной связи. Применение вокодера позволяет снизить скорость передачи данных в канале, что принципиально важно для эффективного использования радио тракта и канала в IP-сетях. Основной принцип работы вокодера - синтез исходного речевого сигнала посредством адаптивной замены его гармонических составляющих соответствующим набором частотных фонем и согласованными шумовыми коэффициентами. Кодек G.723 осуществляет преобразование аналогового сигнала в поток данных со скоростью 64 Кбит/с (ИКМ), а затем при помощи многополосного цифрового фильтра/вокодера выделяет частотные фонемы, анализирует их и передает по IP-каналу информацию только о текущем состоянии фонем в речевом сигнале. Данный алгоритм преобразования позволяет снизить скорость кодированной информации до 5,3-6,3 Кбит/с без заметного для пользователя ухудшения качества воспроизведения речи. Кодек имеет две скорости и два варианта кодирования: 6,3 Кбит/с с алгоритмом MP-MLQ и 5,3 Кбит/с с алгоритмом CELP (Code Excited Linear Prediction) - линейное предсказание с кодовым возбуждением. Первый вариант предназначен для сетей с пакетной передачей голоса и обеспечивает лучшее качество кодирования по сравнению с вариантом CELP, но менее адаптирован к использованию в сетях со смешанным типом трафика (голос/данные). Класс речевых кодеров с линейным предсказанием и кодовым возбуждением (CELP) занимает промежуточное положение между кодерами формы сигнала и параметрическими вокодерами. Анализ параметров речевого сигнала осуществляется на интервалах 10-30 мс, что позволяет наиболее эффективно применять CELP при скоростях передачи от 4 до 16 Кбит/с.

Процесс преобразования требует от DSP 16,4-16,7 MIPS и вносит задержку 37 мс. Кодек G.723.1 широко применяется в голосовых шлюзах и прочих устройствах IP-телефонии. Кодек G.723.1 уступает по качеству кодирования речи кодеку G.729a, но менее требователен к ресурсам процессора и пропускной способности канала.

Кодеки G.729
Семейство включает кодеки G.729, G.729 Annex A, G.729 Annex B. Кодер содержит детектор активности источника речевого сигнала (Voice Activity Detector, VAD) и генератор комфортного шума. Детектор активности источника речевого сигнала предназначен для обнаружения и выделения интервалов активности источника или шума без речи. Порог принятия решения в детекторе не должен быть слишком низким, приводящим к частому срабатыванию от шумов. В то же время, порог не должен быть и слишком высоким, так как это приведет к вырезанию начала фразы и ухудшению разборчивости. Кодеки G.729 сокращенно называют CS-ACELP (Conjugate Structure - Algebraic Code Excited Linear Prediction), что переводится как "сопряженная структура с управляемым алгебраическим кодом линейным предсказанием". Процесс преобразования использует DSP 21,5 MIPS и вносит задержку 15 мс. Скорость кодированного речевого сигнала составляет 8 Кбит/с. В устройствах VoIP данный кодек занимает лидирующее положение, обеспечивая наилучшее качество кодирования речевой информации при достаточно высокой компрессии.

Кодек G.728
Гибридный кодек, описанный в рекомендации G.728 в 1992 г., относится к категории кодеков с управляемым кодом линейным предсказанием и малой задержкой (Low Delay - Code Excited Linear Prediction, LD-CELP). Кодек обеспечивает скорость преобразования 16 Кбит/с, вносит задержку при кодировании от 3 до 5 мс. Для его реализации необходим процессор с быстродействием более 40 MIPS. Кодек предназначен для использования, в основном, в системах видеоконференций. В устройствах IP-телефонии данный кодек применяется достаточно редко.

Основные характеристики рассмотренных кодеков приведены в таблице 5.4.

Таблица 5.4 - Основные характеристики кодеков
Кодек Метод компрессии Скорость кодирования Сложность реализации Качество Задержка
G.726 ADPCM 32/24/16 Кбит/с Низкая (8 MIPS) Хорошее (32 К), плохое (16 К)/TD> Очень низкая (0,125мс)
G.729 CS-ACELP 8 Кбит/с Высокая (30 MIPS) Хорошее Низкая (10 мс)
G.729A CA-ACELP 8 Кбит/с Умеренная (20 MIPS) Среднее Низкая (10 мс)
G.723.1 MP-MLQ 6,4/5,3 Кбит/с Умеренная (16 MIPS) Хорошее (6,4), среднее (5,3) Высокая (37 мс)
G.728 LD-CELP 16 Кбит/с Очень высокая (40 MIPS) Хорошее Очень низкая (3-5 мс)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: