. Деякі пакети можуть бути взагалі втрачені при доставці, або величина затримки при їх передачі перевищує нормативне значення часу очікування. Для мовного трафіку затримка і варіація затримки пакету є критичними показниками, тому в такому разі або використовується алгоритм апроксимації, який дозволяє на основі отриманих IP пакетів приблизно відновити втрачені, або ці втрати ігноруються. Отримана таким чином послідовність даних передається для обробки кодеками і перетвориться безпосередньо в мовний сигнал. p align="justify"> Виконання цієї роботи також позначається на затримці.
Вплив операційної системи
Більшість додатків IP-телефонії являє собою звичайні програми, які виконуються в середовищі якої-небудь операційної системи, такий як Windows або Linux. Ці програми звертаються до периферійних пристроїв (платам обробки мовних сигналів, спеціалізованим платам систем сигналізації) через інтерфейс прикладних програм для взаємодії з драйверами цих пристроїв, а доступ до IP-мережі здійснюють через Socket-інтерфейс. p align="justify"> Більшість операційних систем не може контролювати розподіл часу центрального процесора між різними процесами з точністю, що перевищує кілька десятків мілісекунд, і не може обробляти за такий же час більше одного переривання від зовнішніх пристроїв. Це призводить до того, що затримка у просуванні даних між мережевим інтерфейсом і зовнішнім пристроєм мовного виведення становить, незалежно від використовуваного алгоритму кодування мови, величину такого ж порядку, або навіть більше. p align="justify"> Щоб мінімізувати вплив операційної системи, деякі виробники шлюзів і IP-телефонів використовують ОС реального часу (VxWorks, pSOS, QNX Neutrino і т.д.), які використовують більш складні механізми поділу часу процесора, діючі таким чином, щоб забезпечувати значно більш швидку реакцію на переривання і більш ефективний обмін потоками даних між процесами.
Інший, більш плідний підхід - перекласти всі функції, які необхідно виконувати в жорстких часових рамках (обмін даними між мовними кодеками і мережевим інтерфейсом, підтримку RTP і т.д.), на окремий швидкодіючий спеціалізований процесор. При цьому пересилання мовних даних здійснюється через виділений мережевий інтерфейс периферійного пристрою, а операційна система робочої станції підтримує тільки алгоритми управління з'єднаннями і протоколи сигналізації, тобто завдання, для виконання яких жорстких часових рамок не потрібно. Цей підхід реалізовано в платах для додатків IP-телефонії, вироблених фірмами Dialogic, Audiocodes, Natural Microsystems. За такою ж технологією виконаний і шлюз IP-телефонії в платформі Протей, що дозволило забезпечити високу якість передачі мови. br/>
Джиттер-буфер
Відправник мовних пакетів передає їх через фіксовані проміжки часу (наприклад, через кожні 20 мс), але при проходженні через мережу затримки пакетів виявляються неоднаковими, так що вони прибувають в пункт призначення через різні проміжки часу. p>
Для того щоб компенсувати вплив джитера, в терміналах використовується джіттер-буфер. Цей буфер зберігає в пам'яті прибули пакети протягом часу, що визначається його ємністю (довжиною). Інтервали між пакетами відновлюються на основі значень тимчасових міток RTP-пакетів. br/>
Кодек і кількість переданих в пакеті кадрів
Більшість сучасних ефективних алгоритмів кодування/декодування мовлення орієнтоване на передачу інформації кадрами, а не послідовністю кодів окремих відліків. Тому протягом часу, що визначається довжиною кадру кодека, має накопичуватися певної довжини послідовність цифрових уявлень відліків. Крім того, деяким кодекам необхідний попередній аналіз більшої кількості мовної інформації, ніж повинно міститися в кадрі. Це неминучий час накопичення і попереднього аналізу входить до загального бюджету тривалості затримки пакета. p align="justify"> На перший погляд, можна було б укласти, що чим менше довжина кадру, тим менше повинна бути затримка. Однак через значного обсягу службової інформації, переданої в RTP/UDP/IP-пакетах, передача маленьких порцій даних дуже неефективна, так що при застосуванні кодеків з малою довжиною кадру доводиться упаковувати декілька кадрів в один пакет. Крім того, кодеки з більшою довжиною кадру більш ефективні, оскільки можуть В«спостерігатиВ» сигнал протягом більшого часу і, отже, можуть більш ефективно моделювати цей сигнал. br/>
Взаємодія модулів УШ і модуля протоколу RTP
Взаємодія між модулями кодування/декодування мовних даних УШ і модулем протоколу RTP здійснюється через пам'ять, яка знаходиться в DSP модулів УШ. Усередині кожного модуля УШ виділяються наступні області пам'яті:
В· для інформації конфігурації...