Przekaz pakietowy

ITpedia

Wprowadzenie do sieci cyfrowych głosu segmentowanego na pakiety zmienia paradygmat transmisji informacji przez sieć. Nowa forma przekazu pakietowego dostarcza – oprócz wszystkich dotychczasowych usług komutowanej sieci telefonicznej PSTN, takich jak: oczekiwanie na połączenia, telekonferencje czy przenoszenie rozmów – wiele innych możliwości, niedostępnych w starych sieciach komutowanych:

Istota przekazu pakietowego
Istota przekazu pakietowego
  • - ponad dziesięciokrotne zmniejszenie zapotrzebowania na pasmo, dzięki skutecznej kompresji cyfrowej głosu MP-MQL (6,3 kb/s), ACCELP (5,3 kb/s);
  • - wsparcie dla przyszłych interakcyjnych funkcji multimedialnych (obraz ruchomy, IVoD);
  • - jednolite zarządzanie całością ruchu komunikacyjnego (głos, dane, obraz);
  • - zastosowanie dobrze zdefiniowanych i sprawdzonych protokołów komunikacyjnych FR (Frame Relay) oraz IP, a także obsługa sieci heterogenicznych;
  • - zapewnienie elastyczności komunikowania się użytkownikowi końcowemu przez pozostawienie mu swobody wyboru rodzaju sieci – za pomocą prefiksów poprzedzających właściwego adresata połączenia (np… Numer 6 dla sieci FR, numer 7 dla IP, numer 8 dla PSTN i in.).
Standardowa konwersja głosu do postaci cyfrowej PCM
Standardowa konwersja głosu do postaci cyfrowej PCM

Techniki komputerowe zastosowane w cyfrowej telekomunikacji dają praktycznie nieograniczone możliwości tworzenia nowych funkcji użytkowych, natomiast transport pakietowy radykalnie zmienia efektywność wykorzystania istniejącej i przyszłej infrastruktury telekomunikacyjnej, upodabniając ją raczej do sieci komputerowych. Finansowe i techniczne korzyści z transmisji głosowej w sieciach pakietowych są niepodważalne, a to prowadzi do dalszego intensywnego wzrostu zapotrzebowania na takie sieci, narastania trafiku w sieciach z przekazem pakietowym i coraz większego zainteresowania telekomunikacyjnymi sieciami danych.

Rynek telekomunikacyjny wzrastał w ciągu ostatnich lat jedynie o 5–8%, natomiast transport danych średnio o 23% rocznie. Nadejście nowej ery telekomunikacyjnej „głosu w pakietach” zmieniło dotychczasowe wymagania wobec transmisji multimedialnych w czasie rzeczywistym, także głosowych. Obecnie wykształciło się kilka kierunków pakietowych przekazów głosowych o zbliżonych cechach użytkowych, określanych ogólnie jako transmisja głosu przez sieci danych VoDATA (Voice over DATA), czyli jako: VoFR (Voice over FR), VoATM (Voice over ATM), VoIP (Voice over IP) czy VoDSL (Voice over DSL).

Inaczej niż PCM

Od wielu lat głos analogowy jest tradycyjnie przetwarzany do postaci cyfrowej najbardziej popularnym systemem kodowania PCM (Pulse Code Modulation) – zgodnym ze standardem G.711 (64 kb/s) – za pomocą próbek składających się z ośmiu bitów (256 kodów = 256 poziomów wartości sygnału). Dla zmniejszenia przepływności kanału wprowadzono modyfikację tego standardu – G.726 – znaną jako ADPCM (Adaptive Differential PCM), różniącą się od PCM sposobem pomiaru: zamiast chwilowej amplitudy mierzy się wyłącznie jej zmianę w stosunku do poprzedniej próbki. W tej technice kodowania wykorzystuje się, zamiast ośmiu bitów, tylko cztery, a nawet dwa bity do rejestracji różnicy, uzyskując przepływność kanałową nie większą niż 32 kb/s bądź 16 kb/s – niestety z wyraźnym pogorszeniem jakości rozmowy, zwykle nie akceptowanej przez abonentów telefonii powszechnej.

Kompresja głosu
Kompresja głosu

W standardowym kodowaniu PCM dane są transmitowane synchronicznie (co 125 µs), bez uwzględniania naturalnych przerw w rozmowie, co prowadzi do niegospodarności przydzielonego pasma, bez rozróżniania, czy transmitowana jest dynamiczna wymiana zdań, czy długie milczenie lub chwile ciszy. Niedogodność tę eliminują prawie wszystkie współczesne systemy kompresji głosowej, prowadząc transmisję wyłącznie w momentach, kiedy rzeczywiście są dane do przesłania sygnału mowy.

Opracowane w ostatnich latach nowe standardy kompresji głosu, oparte na algorytmach modelowania mowy typu LPC (Linear Predictive Code) i bardzo użyteczne w przekazach VoIP, charakteryzują się znacznie lepszą jakością zakodowanej mowy, wprowadzając stosunkowo niewielkie opóźnienia. Optymalizują one przesyłaną liczbę informacji bitowych przez modelowanie i wykorzystywanie powtarzających się elementów w sposobie mówienia konkretnego uczestnika przekazu głosowego. Należą do nich najnowsze algorytmy: LD-CELP (G.728), CS-ACELP (G.729, G.729a oraz G.723.1), bądź ich licznie występujące wersje używane w telefonii komórkowej GSM (RPE-LTP, VSELP, ACELP) – wszystkie wymagające szybkich procesorów sygnałowych DSP (Digital Signal Processor).

Wśród kilku kryteriów oceny konkretnego algorytmu kompresji głosu wyróżnia się dwa: względną jakość uzyskanej mowy MOS (Mean Opinion Score) i wprowadzane opóźnienia. Wynikają one głównie z czasu potrzebnego do przetworzenia informacji (kodowanie, kompresja, pakietyzacja, dekompresja), gdyż opóźnienia spowodowane przez linie przesyłowe są zwykle niewielkie (nie przekraczają kilkudziesięciu ms). Zwłaszcza opóźnienie przetwarzania, równie silnie wpływające na jakość uzyskiwanej rozmowy dwustronnej jak sposób kompresji, nie powinno przekraczać 200 ms. W praktycznych rozwiązaniach transmisji głosowej w sytuacji, gdy konkretne pakiety przybywają ze zbyt dużym opóźnieniem, są po prostu kasowane po stronie odbiorczej i zastępowane ciszą.

Podobnie niedopuszczalnym elementem transmisji głosowych jest zmienność dostarczania transmitowanych pakietów z zakodowanymi sygnałami mowy, a więc dostarczanie takich pakietów raz po upływie np… 50 ms, potem co 170 ms, później znów po 100 ms. Zapewnienie niewielkich i stałych opóźnień wymaga jednak stosowania rozbudowanych mechanizmów kontroli, a także priorytetowania i buforowania transmitowanego strumienia głosu w poszczególnych węzłach sieciowych. Eliminacja wahań opóźnień przesyłanych pakietów (jitter) jest możliwa przez gromadzenie nadchodzących pakietów w buforach (bufory FIFO), jednak takie buforowanie ma ograniczone możliwości korekcji ze względu na wnoszone opóźnienia stałe.

Wymienione procesy nie byłyby możliwe bez odpowiedniej miniaturyzacji sprzętowej i znacznego wzrostu mocy przetwarzania procesorów DSP, które oprócz skomplikowanych procedur kompresji realizują algorytmy optymalizujące transmisję. Procesy te polegają na:

  • wykrywaniu sygnałów mowy VAD (Voice Activity Detection);
  • kasowaniu echa EC (Echo Cancelation) w kanale dwukierunkowym;
  • generowaniu szumu stanowiącego integralną część rozmowy;
  • identyfikowaniu sygnałów faksowych i innych.

Brak zdecydowanych wymagań standaryzacyjnych wobec algorytmów różnorodnych urządzeń kodujących przekazy głosowe i funkcji dodatkowych realizowanych przez głosowe urządzenia komunikacyjne (terminale, bramy, PABX, rutery) powoduje, że współpraca urządzeń pochodzących od różnych producentów nie zawsze przebiega poprawnie.

Głos w pakietach

Inaczej niż w łączach komutowanych scenariusz połączeń pakietowych jest oparty na jednostkach informacji, które są praktycznie niezależne od nośników fizycznych. Jednostkami informacji mogą być pakiety, ramki lub komórki (ATM), a wybór należy do protokołu używanego w transporcie informacji przez medium. Tak określone jednostki informacji można przesyłać w odrębnych kanałach komunikacyjnych (kanały wirtualne) – niezależnie od rodzaju stosowanych po drodze nośników – czyli przez sieci heterogeniczne. We wszystkich tych przypadkach pakiety są transmitowane przez sieć współużytkowaną (długodystansową) przez innych użytkowników kanału komunikacyjnego. Dodatkowym atrybutem przekazów pakietowych jest identyfikacja każdego pakietu za pomocą nagłówka, który może zawierać informacje o transmitującym kanale, miejscu pochodzenia pakietu (źródła lub nadajnika pakietów) i miejscu przeznaczenia (odbiornika). Oznacza to, że transmisja może przebiegać zarówno w trybie połączeniowym (po uprzednim nawiązaniu połączenia przez sieć kanałami sygnalizacyjnymi), jak i w bardziej efektywnym bezpołączeniowym trybie pracy (datagramy informacji). Pełna identyfikacja pakietu oznacza nie tylko fakt transportu każdego pakietu niezależnie od pozostałych, ale przede wszystkim zajmowanie kanału komunikacyjnego wyłącznie na czas rzeczywistej potrzeby transmisji pakietowej. Dla przekazów głosowych fakt ten ma kapitalne znaczenie, gdyż w trakcie rozmowy mogą występować przerwy i chwile ciszy, które nie są transmitowane, a więc istotnie wpływają na zmniejszenie wymagań na szerokość pasma.

Głos zamieniony na pakiety można transmitować również przez Internet dzięki aplikacji VoIP, jednakże na przeszkodzie stoi nieprzewidywalna jakość sieci globalnej IP. W przypadku przekazu „czystych” danych, niska jakość tej sieci ma stosunkowo niewielkie znaczenie: pakiety danych odebrane w niewłaściwej kolejności mogą być odpowiednio uszeregowane, fragmenty uszkodzone bądź stracone – przesłane powtórnie, a na pakiety opóźnione można chwilę poczekać. Zupełnie inaczej wygląda sytuacja w przypadku transmisji głosu czy obrazu, gdzie jakość sieci przesyłowej ma zasadnicze znaczenie. Uszkodzonych lub straconych pakietów głosowych zwykle nie można retransmitować w akceptowalnym czasie, na poprawne kolejkowanie też nie ma zbyt wiele czasu, a nadmierne opóźnienia pakietów czynią cały przekaz głosowy bezużytecznym.

Składanie głosu z transmitowanych ramek musi dokonywać się tak szybko (procesory sygnałowe DSP), aby wynikłe stąd opóźnienie nie utrudniało rozmowy, czyli dokonywało się w czasie rzeczywistym. Zbyt duże pakiety wprowadzają niedopuszczalne opóźnienia i szybkie pogorszenie jakości przy utracie kolejnych pakietów, natomiast zbyt małe są nieekonomiczne z powodu wysokiej redundancji sterowania przepływem. Przy wydajnych, współczesnych algorytmach kompresji głosu typu LD-CELP (Low Delay Code Excited Linear Prediction), zgodnych ze specyfikacją G.729, najbardziej odpowiednie są ramki bardzo krótkie, nie przekraczające 10–15 bajtów.

Opóźnienia pakietów głosowych

Nieuniknioną konsekwencją przenoszenia nie tylko głosu przez współdzielone łącza telekomunikacyjne jest wprowadzanie zakłóceń opóźnieniowych, fluktuacji określanych jako opóźnienie jitter. Powstaje ono w sytuacji, gdy jedna aplikacja musi czekać na zwolnienie kanału zajętego przez inną, będącą właśnie w trakcie nadawania – jako że klasyczne medium transmisyjne pozwala na transmisję w dowolnie wybranym momencie tylko jednej ramki fizycznej. Także wahania (jitter) opóźnień transmisji winny być minimalne, gdyż w przeciwnym razie ich skompensowanie w węźle odbiorczym będzie utrudnione, prowadząc w rezultacie do braku zrozumienia mowy.

Przez implementację odpowiednich buforów pamięciowych w każdym węźle sieci pakietowej i stosowanie odpowiednich algorytmów jest jednak możliwa jednoczesna transmisja w czasie rzeczywistym wielu równolegle przebiegających aplikacji sieciowych, przez jedno i to samo medium transmisyjne. Wielkość stosowanych buforów pamięci, dobór odpowiednich algorytmów priorytetowania usług (np… Algorytm „cieknące wiadro”), a w szczególności właściwy rozmiar pakietów głosowych – stanowią obecnie największe wyzwanie, wynikające z wymagań czasu rzeczywistego dla trafiku głosowego i innego ruchu multimedialnego.

Aby utrzymać odpowiednią jakość pakietowej konwersji głosowej i mieć ponadto możliwość sterowania tą jakością, w miejscu przeznaczenia jest potrzebny bufor pamięciowy jitter, umożliwiający odczekanie w niewielkim zakresie na spóźnione bądź brakujące pakiety głosowe. Dopiero po skompletowaniu odpowiedniej liczby przybywających pakietów dokonuje się ich dekompresja i konwersja z powrotem na sygnał analogowy. Ta zdolność do dynamicznej optymalizacji jakości głosu przez adaptację algorytmu konwersji do fizycznych warunków transmisji (po co czekać niepotrzebnie, jeśli cały głos już przybył) jest najwyżej cenioną cechą nowoczesnych koderów głosowych. Standardowo opóźnienie jitter powinno się zmieniać w granicach 50–150 ms dla przekazów o dobrej jakości.

Idea działania byfora kontrolującego opóźnienie jitter
Idea działania byfora kontrolującego opóźnienie jitter

Średnia wartość tego opóźnienia w sieci Internet znacznie jeszcze przekracza dopuszczalne granice i oscyluje w przedziale 400–500 ms przy transmisjach dwukierunkowych, co utrudnia prowadzenie rozmów bezpośrednich. Wśród wielu przyczyn tych opóźnień istotne są: różnorodne algorytmy konwersji sygnału analogowego na cyfrowy, procedury kapsułkowania pakietów głosowych na pakiety IP i opóźnienia wprowadzane przez kolejne rutery na trasie przekazu (nie mniej niż 20 ms na jeden hop).

Badania i praktyka wskazują, że ucho ludzkie dobrze toleruje zarówno rozsądny stopień utraty pakietów głosowych, jak i zmiany opóźnienia głosu w szerokich granicach. W trakcie przekazów głosowych opóźnienie sygnałów mowy poniżej 50 ms jest prawie niezauważalne, opóźnienia do 150 ms utrudniają konwersację, a słaba jakość rozmowy zaczyna się dopiero przy opóźnieniach ok… 500 ms (licząc łącznie w obydwu kierunkach). Z kolei akceptowalną jakość głosu uzyskuje się przy stratach pakietów poniżej 5%, a niedopuszczalna jakość, objawiająca się brakiem zrozumienia mowy, zaczyna się przy utracie powyżej 15% ogólnej liczby przesłanych pakietów głosowych.

-
-