Голосові кодеки. Порівняння та характеристики

 | 13.15
Everest 4
Фото: Everest

В силу пакетного принципу передачі та комутації мовних данних відпадає необхідність кодування і синхронної передачі однакових за тривалістю фрагментів мови . Найбільш доцільним  для систем IP-телефонії є застосування кодеків зі змінною швидкістю кодування мовного сигналу. В основі кодека мови із змінною швидкістю лежить класифікатор вхідного сигналу, що визначає ступінь його інформативності і таким чином задає метод кодування і швидкість передачі мовних даних. Найбільш простим класифікатором мовного сигналу є Voice Activity Detector (VAD), який виділяє у вхідному мовному сигналі активну мову і паузи. При цьому, фрагменти сигналу, що класифікуються як активна мова, кодуються яким-небудь з відомих алгоритмів (як правило на базі методу Code Excited Linear Prediction — CELP) з типовою швидкістю 4 — 8 Кбіт/с. Фрагменти, що класифіковані як паузи, кодуються і передаються з дуже низькою швидкістю (порядку 0.1 — 0.2 Кбіт/с), або не передаються взагалі. Передача мінімальної інформації про паузні фрагменти має перевагу. Схеми більш ефективних класифікаторів вхідного сигналу детальніше здійснюють класифікацію фрагментів, відповідних активній мові. Це дозволяє оптимізувати вибір стратегії кодування (швидкості передачі даних), виділяючи для особливо відповідальних за якість мовлення ділянок мовного сигналу більшу кількість біт (відповідно більшу швидкість), для менш відповідальних — менше біт (меншу швидкість). При такій побудові кодеків можуть бути досягнуті низькі середні швидкості (2 — 4 Кбіт/с) при високій якості синтезованої мови. Необхідно відзначити, що для розглянутих додатків традиційна для вокодерів проблема зниження затримки при обробці сигналу в кодеку не є актуальною, так як величина сумарної затримки при передачі мови в системах IP-телефонії головним чином визначається затримками, які вносяться каналами мережі Інтернет. Тим не менш, рішення, що дозволяють знизити затримку в вокодері, становлять практичний інтерес. Проведений в різних дослідницьких групах аналіз якості синтезованої мови при передачі мовних даних через мережу Інтернет показує, що основним джерелом виникнення спотворень, зниження якості та чіткості синтезованої мови є переривання потоку мовних даних, викликане втратами при передачі по мережі або перевищенням гранично допустимого часу доставки пакету з мовними даними. Можна очікувати, що з розвитком мережі Інтернет при подальшому збільшенні її пропускної спроможності, оптимізації маршрутизаторів і протоколів будуть мати перевагу втрати одиночних пакетів. Слід зауважити, що в разі приходу пакету дані, як правило, доставляються без помилок. В таких умовах завадостійке кодування мовних даних. Таким чином, однією з найважливіших завдань при побудові вокодерів для IP-телефонії є створення алгоритмів компресії мови толерантних до втрат пакетів. Для обслуговування широкої мережі абонентів система IP телефонного зв’язку з використанням шлюзів повинна включати абонентські лінії зв’язку з аналоговими закінченнями. Це означає, що синтезований в шлюзі аналоговий мовний сигнал по сполучній лінії буде надходити на телефонний апарат абонента. Аналогічно сигнал з виходу мікрофону телефонного апарата абонента з аналогової лінії буде надходити на вхід вокодера, розміщеного в шлюзі. Добре відомо, що класичні алгоритми низькошвидкісної компресії мови чутливі до амплітудно-частотних спотворень, можливим в сполучних лініях і акустичних трактах. При створенні алгоритмів низькошвидкісних вокодерів ця обставина повинна прийматися до уваги. Таким чином, одним із важливих чинників ефективного використання пропускної здатності IP-каналу, є вибір оптимального алгоритму кодування/декодування мовної інформації – кодека. Всі існуючі сьогодні типи мовних кодеків за принципом дії можна розділити на три групи:

  • Кодеки з Імпульсно-Кодовою Модуляцією (ІКМ) і Адаптивною Диференціальною Імпульсно-Кодовою Модуляцією (АДИКМ), що з’явилися у кінці 50 –х років і використовуються сьогодні у системах традиційної телефонії. В більшості випадків являють собою поєднання АЦП/ЦАП
  • Кодеки з вокодерным перетворенням мовного сигналу виникли в системах мобільного зв’язку для зниження вимог до пропускної здатності радіотракту. Ця група кодеків використовує гармонійний синтез сигналу на підставі інформації про його вокальні складові – фонеми. У більшості випадків, такі кодеки реалізовані як аналогові пристрої.
  • Комбіновані (гібридні) кодеки поєднують у собі технологію вокодерного перетворення/синтезу мови, але оперують вже з цифровим сигналом за допомогою спеціалізованих DSP. Кодеки цього типу містять в собі ІКМ або АДИКМ кодек і реалізований цифровим способом вокодер.

На малюнку 3 представлена узагальнена суб’єктивна оцінка якості кодування мови для перерахованих типів кодеків.

Оцінка якості кодування мови
Мал. 3 Оцінка якості кодування мови

В голосових шлюзах IP-телефонії поняття кодека передбачає не тільки алгоритми кодування/декодування, але і їх апаратну реалізацію. Більшість кодеків, які використовуються в IP-телефонії, описані рекомендаціями сімейства «G» стандарту Н.323. Далі розглядаються деякі основні кодеки, які використані в шлюзі IP-телефонії операторського рівня.

G.711

Рекомендація, затверджена МККТТ в 1984 р., описує кодек, який використовує ІКМ перетворення аналогового сигналу з точністю 8 біт, тактовою частотою 8 Кгц і найпростішою компресією амплітуди сигналу. Швидкість потоку даних на виході перетворювача складає 64 Кбит/с (8 Біт 8 КГц). Для зниження шуму квантування та поліпшення перетворення сигналів з невеликою амплітудою, при кодуванні використовується нелінійне квантування за рівнем (див. мал. 4) згідно із спеціальним псевдологарифмічним законом. При нелінійному квантуванні крок квантування змінюється у процесі зміни рівня сигналу. При цьому крок квантування для слабких сигналів вибирається мінімальним, а в міру збільшення рівня сигналу він збільшується й досягає максимальних значень для сигналів високих рівнів.

Нелінійне квантування. Наведена амплітудна характеристика нелінійного квантувача й часова діаграма квантованого сигналу
Мал. 4 Нелінійне квантування. Наведена амплітудна характеристика нелінійного квантувача й часова діаграма квантованого сигналу

Перші ІКМ кодеки з нелінійним квантуванням з’явилися вже в 60-х рр. Кодек G. 711 широко поширений у системах традиційної телефонії з комутацією каналів. Незважаючи на те, що рекомендація G. 711 в стандарті Н.323 є основною і первинною, в шлюзах IP-телефонії даний кодек застосовується рідко із-за високих вимог до смуги пропускання і затримок у каналі передачі (все-ж-таки 64 Кбіт/с це багато). Використання G. 711 в системах IP-телефонії обґрунтовано лише в тих випадках, коли потрібно забезпечити максимальну якість кодування мовної інформації при невеликому числі одночасних розмов. Одним із прикладів застосування кодека G. 711 можуть послужити IP-телефони CISCO.

 

G.723.1

Рекомендація G. 723.1 описує гібридні кодеки, які використовують технологію кодування мовної інформації, скорочено має назву – MP-MLQ (Multy-Pulse – Multy Level Quantization – Множинна Імпульсна, Багаторівнева Квантизація), дані кодеки можна охарактеризувати, як комбінацію АЦП/ЦАП і вокодера. Як вже згадувалося вище, своїм виникненням гібридні кодеки зобов’язані системам мобільного зв’язку. Застосування вокодера дозволяє знизити швидкість передачі даних в каналі, що принципово важливо для ефективного використання як радіотракту, так і IP-каналу. Основний принцип роботи вокодера – це синтез вихідного мовного сигналу за допомогою адаптивної заміни його гармонічних складових відповідним набором частотних фонем і погодженими шумовими коефіцієнтами.

Кодек G. 723 здійснює перетворення аналогового сигналу в потік даних зі швидкістю 64 Кбіт/з (ІКМ), а потім за допомогою багатосмугового цифрового фільтру/вокодера виділяє частотні фонеми, аналізує їх і передає по IP-каналу інформацію тільки про поточний стан фонем у мовному сигналі. Даний алгоритм перетворення дозволяє знизити швидкість кодованої інформації до 5,3 – 6,3 Кбіт/с без видимого погіршення якості мови. Кодек має дві швидкості і два варіанти кодування: 6,3 Кбіт/с з алгоритмом MP-MLQ і 5,3 Кбіт/с з алгоритмом CELP. Перший варіант призначений для мереж з пакетною передачею голосу і забезпечує кращу якість кодування порівняно з варіантом CELP, але менш адаптований до використання в мережах зі змішаним типом трафіку (голос/дані). Процес перетворення вимагає від DSP 16,4 – 16,7 MIPS (Million Instructions Per Second) і вносить затримку 37 мс. Кодек G. 723.1 широко застосовується в голосових шлюзах та інших пристроях IP-телефонії. Кодек поступається за якістю кодування мови кодеку G. 729а, але менш вимогливий до ресурсів процесора і пропускної здатності каналу.

Гібрідні кодеки G.729

Сімейство включає кодеки G. 729, G. 729 Annex А, G. 729 Annex B (містить VAD і генератор комфортного шуму). Кодеки G. 729 скорочено називають CS-ACELP Conjugate Structure — Algebraic Code Excited Linear Prediction – Спряжена структура з керованим алгебраїчним кодом лінійним передбаченням. Процес перетворення використовує 21,5 MIPS і вносить затримку 15 мс. Швидкість кодованого мовного сигналу становить 8 Кбіт/с. В пристроях VoIP даний кодек займає провідне положення, забезпечуючи найкращу якість кодування мовної інформації при досить високої компресії.

Рекомендація G. 726 описує технологію кодування з використанням Адаптивної Диференціальної Імпульсно-Кодової Модуляції (АДИКМ) зі швидкостями: 32 Кбіт/с, 24 Кбіт/с, 16 Кбіт/с. Процес перетворення не вносить істотної затримки і вимагає від DSP 5,5 — 6,4 MIPS. Кодек може застосовуватися спільно з кодеком G. 711 для зниження швидкості кодування останнього. Кодек призначений для використання в системах відеоконференцій.

Гібридний кодек, описаний у рекомендації G. 728 1992 р відноситься до категорії LD-CELP – Low Delay — Code Excited Linear Prediction – Кодек з керованим кодом лінійним передбаченням і малою затримкою. Кодек забезпечує швидкість перетворення 16 Кбіт/с, вносить затримку при кодуванні від 3 до 5 мс і призначений для використання в системах відеоконференцій. У пристроях IP-телефонії даний кодек застосовується досить рідко.

У зведеній таблиці 1 представлені характеристики кодеків цього сімейства.

Таблиця 1. Характеристики кодеків.

Кодек Тип кодеку Швидкість кодування Затримка при кодуванні
G.711 ІКМ 64 Кбит/с 0,75 мс
G.726 АДІКМ 32 Кбит/с 1 мс
G.728 LD – CELP 16 Кбит/с От 3 до 5 мс
G.729 CS – ACELP 8 Кбит/с 10 мс
G.726 a CS – ACELP 8 Кбит/с 10 мс
G.723.1 MP – MLQ 6,3 Кбит/с 30 мс
G.723.1 ACELP 5,3 Кбит/с 30 мс

 

Питання оцінки якості кодування голосу з використанням різних кодеків виник відразу ж з моменту їх появи. При цьому мова не ведеться про вимірювання коефіцієнта нелінійних і інтермодуляціонних спотворень і відношення сигнал/шум, як це прийнято для оцінки тракту звуковідтворювальної апаратури. Специфіка використання мовного кодека дозволяє оперувати такою характеристикою як Усереднена Сукупна Думка (MOS – Mean Opinion Score). Компанія CISCO Systems наводить результати тестування кодеків за критерієм найкращої розбірливості мови. Оцінка кодеків здійснена за традиційною 5-ти бальною шкалою, де якнайкраща якость звучання відповідає найбільшому балу. Результати представлені в таблиці 2.

Таблиця 2

Кодек Тип кодеку Швидкість кодування Розмір кадру Оцінка
G.711 ІКМ 64 Кбит/с 0,125 мс 4,1
G.726 АДІКМ 32 Кбит/с 0,125 мс 3,85
G.728 LD – CELP 16 Кбит/с 0,625 мс 3,61
G.729 CS – ACELP (без VAD) 8 Кбит/с 10 мс 3,92
G.729 2-х кратне кодування 8 Кбит/с 10 мс 3,27
G.729a CS – ACELP 8 Кбит/с 10 мс 3,7
G.723.1 MP – MLQ 6,3 Кбит/с 30 мс 3,9
G.723.1 ACELP 5,3 Кбит/с 30 мс 3,65

Технологія голосових кодерів/декодерів (кодеків) за останні кілька років значно просунулася вперед завдяки досягненням в області архітектури побудови цифрових систем обробки сигналів (Digital Signal Processor — DSP), а також дослідженнями в області розпізнавання людської мови. Нові кодеки не просто виконують аналого-цифрове перетворення. В них застосовуються складні прогнозуючі моделі для аналізу вхідного голосового сигналу та подальшої передачі голосу з використанням мінімальної смуги пропускання.

Руслан Османов
Доцент кафедри транспортних мереж ВІТІ