Vyšlo v měsíčníku IT-NET, v lednu 2002
Vytištěno z adresy: http://www.earchiv.cz/b02/b0100005.php3

Požadavky na paketový přenos hlasu

Chceme-li přenášet digitalizovaný lidský hlas skrze datovou síť, neboli skrze síť fungující na principu přepojování paketů, musíme pamatovat na důsledky, které to přináší.

Jak jsme si již uvedli, v hlasové síti, fungující na principu přepojování okruhů, vzniká mezi oběma stranami "roura", do které lze z jedné strany vkládat data generovaná příslušným kodekem, a z druhé strany je zase vyjímat a vkládat do druhého kodeku k dekomprimaci. Vzhledem k charakteru oné "roury" by přitom neměly vznikat žádné problémy, které by znesnadňovaly zpětnou rekonstrukci původního lidského hlasu - zejména problémy se zpožděním dat či s nepravidelnostmi v jejich doručování. Data, která prochází skrz onu "rouru" (spoj fungující na principu přepojování okruhům, s vyhrazenou přenosovou kapacitou) se po cestě nikde neskladují, ani neprochází žádným "úzkým místem", kde by mohlo dojít k jejich zdržení. Pokud tedy nedojde k nějaké poruše, závadě či rušení, měla by hlasová data přicházet namísto svého určení s velmi malým zpožděné (daným konečnou rychlostí šíření signálu v příslušných přenosových cestách) a s vysokou pravidelností.

Podstatně odlišná však bude situace v případě, že hlasová data budou procházet skrze datovou síť, neboli skrze síť fungující na principu přepojování paketů. Zde budou příslušná data rozdělena do jednotlivých paketů a přenášena vždy jako celek (jako celý paket). Vzhledem k samotnému principu paketového přenosu nebude předem vždy zaručeno, za jak dlouho se ten který paket dostane ke svému cíli. V každém přepojovacím uzlu (směrovači) totiž může čekat předem neodhadnutelnou dobu, než bude moci pokračovat dál (tato doba bude záviset na momentální zátěži daného uzlu, která zase záleží na okamžitém souběhu všech požadavků na přenosy paketů). V důsledku toho v datových sítích obecně není možné zaručit:

  • s jakým zpožděním budou jednotlivé části hlasových dat doručovány na místo svého určení
  • s jakou pravidelností budou jednotlivé části dat doručovány.

Stejně tak je v datových sítích možné, že dojde k úplné ztrátě některých paketů. Většina datových sítích totiž funguje na nejnižších úrovních tzv. nespolehlivým způsobem. To znamená, že když dojde k poškození či úplné ztrátě přenášených dat, nemají za povinnost starat se o nápravu a jednoduše pokračují v přenosu dalších dat (a poškozená data jednoduše zahodí).

Jaký vliv ale mají tyto skutečnosti na přenos hlasu skrze datové sítě, hlavně na možnost zpětné rekonstrukce lidského hlasu? Velmi zásadní!

Zpoždění (latence)

Na rozdíl od jednosměrné distribuce multimediálních signálů, kde na zpoždění téměř nezáleží, jsou obousměrné telefonické hovory na zpoždění velmi citlivé. Většina účastníků totiž zpoždění zaznamená, pokud na cestě tam i zpět přesáhne 250 milisekund, a velmi často to vede k tomu, že si obě strany začnou (nechtěně) skákat navzájem do řeči. Při celkovém zpoždění delším jak 500 milisekund (neboli půl minuty) přestává být takový hovor použitelný. Doporučení ITU-T G.114 proto požaduje pro kvalitní hovory (high-quality voice) zpoždění nejvýše 150 milisekund v jednom směru.

Kde ale vzniká takovéto zpoždění? Nemusí se jednat pouze o zpoždění, které vzniká v samotné datové síti. Zpožďující vliv má i zpracování dat v kodeku na obou stranách, a toto zpoždění je mj. závislé i na charakteru použitého kodeku, resp. použitého mechanismu komprese. Další zpoždění pak může vznikat v bufferech, které mají za úkol vyrovnávat nepravidelnosti v doručování dat.

Nepravidelnost (jitter)

Dalším velmi nepříjemným průvodním jevem paketových přenosů jsou nepravidelnosti v doručování jednotlivých částí dat. Tyto nepravidelnosti vznikají kvůli různě velkému zpoždění při přenosu jednotlivých paketů v síti. Kodeky na obou stranách ovšem počítají s naprostou pravidelností - na straně odesilatele jsou data generována pravidelně, a to samé očekává i kodek na straně příjemce, aby mohl dekomprimovat data a úspěšně rekonstruovat původní lidský hlas. Pokud určitou část požadovaných dat nedostane včas, dochází k situaci, kterou by bylo možné přirovnat k nerovnoměrnému posunu filmového pásu: jako kdyby se v promítacím zařízení kina pohyboval filmový pás tu pomaleji, tu zase rychleji, případně se chvílemi i zastavil. Při překročení určitého hranice by to lidské smysly již vnímaly, a při překročení ještě vyšší hranice by se na takový film již nešlo vůbec dívat.

V případě nerovnoměrného doručování jednotlivých částí hlasových dat se může přijímající kodek pokusit o určité nápravné akce, aby překryl efekt nerovnoměrností. Místo chybějícího nového vzorku může například přehrát znovu naposledy přijatý vzorek, nebo určitým způsobe sám extrapolovat další průběh signálu. I ta nejsofistikovanější metoda ale dokáže "překrýt" (bez vlivu na celkový sluchový vjem) jen poměrně malé nerovnoměrnosti.

Ztráta paketů (packet loss)

Obdobný vliv jako nepravidelnost (jiter) má i eventuelní ztráta paketů. Také ona totiž vede k tomu, že přijímající kodek nedostane potřebná data a bez nich nedokáže přesně rekonstruovat původní data, resp. hlasový signál. Také zde si musí nějak pomoci sám, například vhodnou extrapolací mezi oběma sousedy vzorku ze zcela ztraceného paketu. Intuitivně by ale mělo být zřejmé, že takováto extrapolace je bez výraznější újmy na kvalitě hlasu možná jen do určité četnosti ztrát. Jako obvyklá hranice se uvádí ztráty do výše 5 procent. Záleží však i na tom, zda jde o ztráty jednotlivých paketů či o ztráty celých souvislých skupin (shluků) paketů.