На рис. 9 представлена усредненная субъективная оценка качества кодирования речи для вышеперечисленных типов кодеков.
В голосовых шлюзах IP-телефонии понятие кодека подразумевает не только алгоритмы кодирования/декодирования, но и их аппаратную реализацию. Большинство кодеков, используемых в IP-телефонии, описаны в рекомендациях семейства «G» стандарта Н.323 (рис. 10).
Рис. 10.Стандарты для кодирования речевых сигналов
Рассмотрим некоторые основные кодеки, используемые в шлюзах IP-телефонии операторского уровня.
Кодек G.711
Рекомендация G.711, утвержденная МККТТ в 1984 г., описывает кодек, использующий ИКМ преобразование аналогового сигнала с точностью 8 бит, тактовой частотой 8 Кгц и простейшей компрессией амплитуды сигнала. Скорость потока данных на выходе преобразователя составляет 64 Кбит/с. Для снижения шума квантования и улучшения преобразования сигналов с небольшой амплитудой при кодировании используется нелинейное квантование по уровню (рисунок 11) согласно специальному псевдо-логарифмическому закону: А-закону для европейской системы ИКМ-30/32 или µ-закону для североамериканской системы ИКМ-24.
Первые ИКМ кодеки с нелинейным квантованием появились уже в 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-телефонии данный кодек применяется достаточно редко.
Основные характеристики рассмотренных кодеков приведены в таблице 3.
Таблица 3. Основные характеристики кодеков | |||||
Кодек | Метод компрессии | Скорость кодирования | Сложность реализации | Качество | Задержка |
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 мс) |
Как видно из таблицы, наиболее предпочтительным среди приведенных методов кодирования с точки зрения соотношения качество речи / скорость потока является алгоритм G.723.1.
Количественными характеристиками ухудшения качества речи являются единицы QDU (Quantization Distortion Units): 1 QDU соответствует ухудшению качества при оцифровке с использованием стандартной процедуры ИКМ; значения QDU для основных методов компрессии приведены в табл. 4.
Таблица 4. Единицы ухудшения качества речи QDU для различных методов компрессии
Метод компрессии | QDU |
ADPCM 32 кбит/с | 3,5 |
ADPCM 24 кбит/с | 7 |
LD-CELP 16 кбит/с | 3,5 |
CS-CELP 8 кбит/с | 3,5 |
Дополнительная обработка речи всегда ведет к дальнейшей потере качества. Согласно рекомендациям МСЭ-Т, для международных вызовов величина QDU не должна превышать 14, причем передача разговора по международным магистральным каналам ухудшает качество речи, как правило, на 4 QDU. Следовательно, при передаче разговора по национальным сетям должно теряться не более 5 QDU. Поэтому для качественной передачи речи процедуру компрессии/декомпрессии желательно применять в сети только один раз. В некоторых странах это является обязательным требованием регулирующих органов по отношению к корпоративным сетям, подключенным к сетям общего пользования. Подавление пауз (silence suppression) - важная функция ATM-коммутаторов. Суть технологии подавления пауз заключается в определении различия между моментами активной речи и молчания в период соединения. В результате применения этой технологии генерация ячеек происходит только в моменты активного разговора. Поскольку в процессе типичного разговора по телефону тишина составляет до 60% времени, происходит двукратная оптимизация по количеству данных, которые должны быть переданы по линии. Объединение технологии сжатия речи и подавления пауз речи в коммутаторах приводит к уменьшению потока данных в канале до восьми раз.