Využití IP telefonie v asistivních technologiích pro neslyšící Zdeněk Bumbálek Research and Development Centre, Fakulta elektrotechnická České vysoké učení technické v Praze Technická 2, 166 27, Praha 6 Email:
[email protected]
Úvod Na první pohled se může zdát slovní spojení využití telefonie pro neslyšící jako nesmysl. Že tomu tak není, dokazuje projekt eScribe výzkumně-vývojového centra RDC ČVUT a České unie neslyšících, jehož cílem je vytvořit online přepisovací centrum pro neslyšící. Technické řešení projektu je založeno na IP telefonii a online zobrazení přepisu řeči na webových stránkách. Podle zákona č. 155/1998 Sb., o komunikačních systémech neslyšících a hluchoslepých osob, ve znění zákona č. 384/2008 Sb., mají sice tyto osoby právo svobodně si zvolit takový komunikační systém, který odpovídá jejich potřebám, ve skutečnosti však dosud nebyly vytvořeny podmínky pro naplňování tohoto práva, zejména pokud jde o zajištění přepisu mluvené řeči. Projekt eScribe rozšiřuje původní projekt České unie neslyšících Simultánní přepis mluvené řeči. Pomocí komunikačních technologií a speciální aplikace pro přepis není nutná přítomnost přepisovatele na místě. Přepisovatel může pracovat odkudkoli, kde je přístup na internet. A jak eScribe technicky funguje? Z místa konání přednášky pro neslyšící je přenášen hlas pomocí VoIP telefonie do přepisovacího centra nebo kamkoli k přepisovateli. Přepis zajišťují speciálně vyškolení rychlopísaři, kteří používají velký seznam zkratek. Ten se expanduje na celá slova nebo věty. K tomu využívají MS Word s velkým seznamem automatického vkládání. Použití MS Word bylo jednou ze základních podmínek přepisovatelů na vývoj aplikace pro přepis. V praxi to probíhá tak, že přepisovatel si pomocí webového rozhraní aplikace vytvoří a otevře dokument MS Word. Na jeho pozadí běží programový kód, který téměř v reálném čase odesílá text na server, odkud je dále zobrazován na webovou stránku. Na místě přednášky je k dispozici
projektor a přepisovaný hlas je zobrazován na plátno. Dostupný je však odkudkoli pomocí webového prohlížeče. Do budoucna projekt zamýšlí postupné zapojování automatického SW na rozpoznávání řeči. Tím se zpřístupní služba ještě širšímu počtu neslyšících.
Princip přenosu hlasu přes internet Internetová telefonie VoIP (Voice over Internet Protocol) přinesla revoluci do tradičního chápání přenosu hlasu. Od vynalezení telefonu Antonio Meuccim (1860) až do nedávné minulosti, měly telefonní systémy jedno společné: jasné spojení z bodu A do bodu B. Bylo tomu tak jak u původních analogových systémů, u kterých bylo možné vysledovat kabelové spojení propojené v telefonních ústřednách např. křížovými spínači, tak i později po zavedení digitalizace TDM (Time Division Multiplex) pevným přiřazením kanálových intervalů jednotlivým účastníkům. Velmi zjednodušeně řečeno, klasická telefonie vytváří mezi uživateli jakési potrubí, které se během spojení nemění a přenáší hlas uživatelů. Internetová telefonie by se dala naproti tomu přirovnat k posílání dopisů poštou. Přenášený hovor je rozkouskován na jednotlivé segmenty (pakety), které jsou doplněné o adresu odesílatele a příjemce (hlavičku) a nezávisle poslány sítí.
1 0 1 1 0 0 0 1
t
t+T
t+2T
t+3T
obr. 1 Digitalizace hlasu Hlavička
Internetová telefonie zaznamenala veliký rozmach až v druhé polovině 90. let 20. stol., kdy ji začali podporovat velcí výrobci IT techniky (Lucent, Cisto, VocalTec, Intel a další). Do té doby byla spíše jen koníčkem několika málo nadšenců obdobným radiovým amatérům. Hlavní překážkou byla absence jakéhokoliv standardu, který by umožnil propojit různá zařízení. Změna nastala až s příchodem protokolů H.323 a zejména SIP (Session Initiation Protocol), které se zasloužily o velké rozšíření internetové telefonie.
Digitalizovaný úsek hovoru
40 B
H
H
H
H
160B
H
H
Internet
H
H
X
H
H
H
1 0 1 1 0 1 0 0
f0 Vzorkování
Kvantování
Kódování
Přiřazení do časového rámce
Digitalizace hovoru
Plnění paketu
Přidání hlavičky
Internet
Vyrovnávací paměť
Odebrání hlavičky
Rekonstrukce hovoru
obr. 3 Princip přenosu hlasu v sítích IP Telefonní síť
Internetová telefonie vykazuje proti klasické větší zpoždění přenosu hlasu. Zpoždění je způsobeno jednak samotným plněním paketu hovorovou informací (než se paket odešle, je třeba počkat než se naplní) a pak náhodnou dobou šíření paketu sítí.
1 0 1 1 0 1 0 0
dekódování
Technické řešení projektu eScribe obr. 2 Princip přenosu hlasu v sítích TDM
Princip přenosu hlasu přes Internet je naznačen na obr. 3. Stejně tak jako u klasické telefonie je nejprve hlas digitalizován. Toho se dosahuje pravidelným odebíráním vzorků hlasu (vzorkováním), kterému je dále přiřazena diskrétní hodnota v amplitudě (kvantování), tato hodnota je následně zakódována do binárního tvaru. V klasické telefonii je takový vzorek vložen do pevně přiděleného kanálového intervalu v časovém rámci o délce trvání T=125 ms a celá procedura se opakuje. V internetové telefonii se používá nespojový způsob přenosu pomocí paketů. Paket je třeba naplnit určitým počtem zakódovaných vzorků hovoru (cca 160 B) a doplnit hlavičkou (40B), která obsahuje směrovací údaje. Takto sestavený paket je pak odeslán do sítě. Doručení paketu zajišťují jednotlivé uzly sítě – routery, které pakety směrují. Toto směrování je však do značné míry náhodné a tak ke koncovému uživateli docházejí pakety v různém pořadí. Pro přenos paketů se využívá protokol UDP, který ovšem nezaručuje 100% doručení a může se proto stát, že některý paket nedorazí k uživateli vůbec. O správné seřazení paketů na přijímací straně se stará vyrovnávací paměť paketů viz. obr. 3.
V současné době se pro účely projektu a testování používá fyzický stroj v síti feld.cvut.cz. Stroj má IP adresu 147.32.200.82 a je na něm nainstalován OS Linux OpenSuse 11.1 (jádro 2.6.27.25-0.1). Na tomto stroji je nainstalován virtualizační SW VirtualBox verze 3. Ve VirtualBoxu jsou nainstalovány dva virtuální stroje s OS Linux Debian, jeden se stabilní verzí SW ústředny Asterisk 1.4.21.2 pro reálný provoz přepisovacího centra a druhý s verzí Asterisk 1.6.0.6 pro testování nových funkcionalit Asterisku, zejména začlenění přenosu textu v reálném čase přes protokol RTP a SIP.
Síť FEL / INTERNET 147.32.20.82
10.1.1.1 10.1.1.2
10.1.1.198 Asterisk
10.1.1.197 Test server
Server 1
10.1.1.5 Server 2
OpenSUSE11.1 WWW, FTP server Virtual BOX, Aplikace pro přepis
obr. 4 Zapojení sítě eScribe
Architektura systému Na obr. 5 je naznačena architektura systému eScribe. Jádro systému tvořící jeho komunikační část představuje SW ústředna Asterisk, dalším velmi důležitým blokem je server zajišťující online zobrazování přepsané řeči na webových stránkách, který úzce spolupracuje s webovým serverem Apache. Přístup do systému je možný jednak z klasických telefonních přístrojů, mobilních telefonů ale i z HW SIP telefonů a SW SIP klientů. Nejsnadnější způsob pak tvoří webový telefon, díky kterému je celý systém dostupný pouze z webového rozhraní bez nutnosti jakékoli instalace a konfigurace pro uživatele. MS WORD
Web interface eScribe
V O I C E
SW PBX Asterisk
R E C O G N I T I O N
W E B P H O N E
W E B S E R V E R
S E R V E R
T R A N S C R I P T I O N
S W P H O N E S
S E R V E R
TCP/UDP
TDM
POTS/ISDN
IP
GSM/GPRS/EDGE/UMTS
INTERNET
obr. 5 Architektura systému eScribe
SW ústředna Asterisk Základem komunikačního systému projektu eScribe je SW ústředna Asterisk. Asterisk je open source SW určený k provozování telefonních služeb jak na úrovni přepínání okruhů (TDM) tak v síti s přepínáním paketů. Systém Asterisk lze právem považovat za velmi rozšířené, flexibilní a silné řešení v oblasti telekomunikačního SW. Systém Asterisk provozujeme na platformě Linux OpenSUSE 11.1 a plnohodnotně plní veškeré funkce pobočkové ústředny PBX. Asterisk je schopný zpracovávat různé druhy protokolů jak ve VoIP telefonii (SIP, MGCP, H.323 a IAX) tak v sítích POTS a ISDN. Velká výhoda systému spočívá právě v jeho otevřenosti a možnosti přizpůsobení nejrůznějším standardům. Otevřenost systému je velmi důležitým požadavkem projektu eScribe, zejména z důvodu pozdějšího snadného propojení se SW automatického rozpoznávání hlasu.
Pro přenos hlasu v systému Asterisk je v zásadě možné využít dva způsoby TDM a VoIP. Pro TDM vyvinula fy Zapatel Telephony pseudo TDM kartu Zaptel. Toto rozhraní je dodáváno fy Digium pro různé varianty použití (PST, POTS, T1, E1, PRI, BRA, E&M ...). Pro VoIP telefonii podporuje Asterisk řadu protokolů. V současné době se nejčastěji rozšířeným protokolem stává protokol SIP, další podporované protokoly jsou IAX, H.323, MGCP a VoFR. V rámci eScribe jsou využívány protokoly SIP a IAX. Pomocí těchto protokolů je možné uskutečňovat hovory zdarma odkudkoli s přístupem na Internet. Pro komunikaci se sítěmi PSTN a GSM využívá projekt eScribe propojení pomocí soukromého VoIP operátora. V dohledné době bude systém zpřístupněn také z klasických pevných sítí připojením přípojkou PRI do pevné telefonní sítě a pomocí GSM bran do sítí českých mobilních operátorů. SW ústředna Asterisk umožňuje tvorbu účastnických přípojek s různým oprávněním. V rámci projektu jsou v současné době vyžívány celkem 3 různé kategorie, první z nich tvoří testovací linky umožňující neomezené volání jak na vnitřní linky, tak odchozí volání do sítí PSTN a GSM. Druhá kategorie určená pro uživatele systému dovoluje neomezené volání uvnitř ústředny a třetí kategorie je určená pro přepisovatele, kterým je umožněn hovor pouze v rámci skupiny přepisovatelů.
Online zobrazování přepisu Dalším velmi důležitým blokem systému je server a aplikace pro přepis. Zatímco u komunikačního řešení byl použit otevřený a často používaný systém Asterisk, u aplikace pro přepis bylo zapotřebí vyvinout vlastní řešení, které by splňovalo podmínky přepisovatelů na minimální změnu v jejich dosavadní práci. Pro přepis využívají přepisovatelé standardně MS Word. Vstupem dat pro online zobrazování textu na webových stránkách je tak dokument MS Word, na jehož pozadí běží programový kód, který zajišťuje odesílání textu na server. Projekci přepisu na webových stránkách zajišťují skripty v PHP, které generují automaticky se obnovující dokument, který periodicky přenáší celý text přepisu. Cílem online přepisu je poskytnout neslyšícím komunikaci v reálném čase, tzn. přenos a zobrazování textové informace znak po znaku s možností oprav a využití kláves Delete a Backspace. Za takovýchto podmínek není možné využívat standardních instant messengerů.
Vyvinutá aplikace pro přepis tyto podmínky částečně splňuje, umožňuje především zpětné editování textu, ovšem přenos znak po znaku je díky nativním vlastnostem MS Word nemožný, neboť umožňuje odesílat událost max. 1x za vteřinu. Další zpoždění nastává na straně zobrazení dat ze serveru na webovou stránku. Celkové zpoždění činí okolo 1,5 vteřiny a text je přenášen v dávkách odpovídající maximálnímu množství textu, které stačí přepisovatel za tuto dobu napsat. Možným řešením přenášení textu znak po znaku je využití RTP protokolu, který se běžně používá pro real time přenosy zvuku a videa. Ideálním řešením pro uživatele je integrace přenosu real time textu s přenosem zvuku a obrazu do jednoho klienta. Takový způsob komunikace se nazývá Total communication a je popsán v doporučení ITU-T F.703. Zavedením bezchybného real time přenosu textu znak po znaku přes IP se zabývá standard T.140 a IETF RFC 2793. Takovýto způsob přenosu textu se v literatuře označuje jako Text over IP (ToIP) a je doplňkem k VoIP a Video over IP. Text over IP najde uplatnění kromě komunikace s lidmi se sluchovým postižením také při komunikaci ve velmi hlučných prostorách, diskrétní komunikaci, přenosu přesných informací a jako doplněk k hlasové a video komunikaci.
V následujících odstavcích jsou popsány nejběžnější kodeky, které se využívají v rámci VoIP. Na použitém kodeku bude záviset, jaká bude kvalita probíhajícího hovoru a jaké bude zatížení sítě při probíhajícím hovoru. Kvalita hovoru se stanovuje pomocí standardizované jednotky MOS (Mean Opinion Score), která číselně odpovídá subjektivnímu ohodnocení kvality daného řečového signálu. Požadovanou šířku pásma sítě udává počet kbit za sekundu. Určení kvality MOS stupnicí se děje buď objektivní metodou (pomocí algoritmu), nebo subjektivně, kdy se statisticky zpracují výsledky ohodnocení kvality. Tyto výsledky vznikají ohodnocením od jisté množiny osob, které se podílejí na měření kvality hovoru. Obecně je kvalita hovoru a její zjišťování velmi obsáhlé téma mimo rámec tohoto článku, podrobnosti zde tedy nebudou popisovány. V praxi nabývá hodnota MOS intervalu od 1 do 4,5, přičemž 4,5 je hodnocení nejlepší.
Projekt eScribe se v současné době zabývá implementací ToIP do systému Asterisk s podporou rychlosti psaní cca 30 znaků/vteřinu.
T.140
RFC4103 RTP UDP (TCP) IP
obr. 6 Začlenění T.140 do vrstvového modelu
Kvalita řeči (kodeky, porovnání) Pro budoucí připojení automatického rozpoznávače hlasu k systému je kritickým požadavkem kvalita přenášeného hlasu, která by v ideálním případě měla být až 48 kHz 16 bit na vzorek. Přenášet hlas v takové kvalitě nekomprimovaně sítí je velmi náročné a využití v sítích GSM by bylo úplně nemyslitelné. Z tohoto důvodu je třeba hlas kódovat a komprimovat, k čemuž v projektu využíváme běžně dostupné kodeky. V rámci připojení k rozpoznávači také zvažujeme vývoj vlastního kodeku přizpůsobeného potřebám rozpoznávače.
G.711 - Je základní kodek, který se používá i v klasické telefonní síti. Kvalita přenášeného hlasu je totožná s kvalitou hlasu při běžném telefonním hovoru, MOS je přibližně 4.1. Tento kodek podporují všechna VoIP koncová zařízení. Existují dva typy G.711. µ-law používaný v Severní Americe a v Japonsku a A-law využívaný v Evropě a zbytku světa. Alaw je jednodušší a nemá takové nároky na výpočetní výkon. G.723.1 - Používá buď kódování MP-MLQ nebo ACELP. První typ kódování vyžaduje šířku pásma 6.3 kbit/s, druhý typ 5.3 kbit/s. Doba trvání jednoho rámce je 30 ms a MOS skóre je 3.9 při použití kódování MPMLQ a 3.65 při použití ACELP. G.726 - Kodek používá kódování ADPCM, potřebná šířka pásma je 16, 24, 32 a 40 kbit/s. Kodek může zpracovávat bloky různé délky podle toho, jak velké zpoždění je požadováno. G.729 - Použité kódování je CS-ACELP Conjugate Structure Algebraic Code Excited Linear Prediction. Potřebná šířka pásma je 8 kbit/s, kvalita je podobná jako 32 kbit ADPCM. Tento kodek je nejpoužívanější v IP telefonii. Spolu s G.711 je nejčastěji podporován koncovými zařízeními. Můžeme se setkat ještě s G.729a, což je dodatek k G.729. Tento kodek snižuje nároky na výpočetní výkon asi o 20%, ale je zhoršena kvalita hovoru. GSM - Kodek, šířka pásma je 13 kbit/s. GSM je rychlejší než metody založené na slovníku (CELP) iLBC - Internet Low Bit Rate Codec, tento kodek byl vyvinut firmou Global IP Sound,
potřebná šířka pásma je 13.33 kbit/s, délka rámce je 30 ms. Kodek umožňuje elegantní snížení kvality přenášeného signálu v případě zpoždění nebo ztráty paketů. Použitý algoritmus je Block Independent Linear Predictive Coding. Speex - Audio kodek primárně navržený pro přenos hlasu při velmi nízkém datovém toku od 2 - 44 kb/s. Speex je založen na algoritmu CELP. Rozeznáváme tři varianty kodeku Speex v závislosti na šířce přenosového pásma. Speex narrow band (tok 15.2 kb/s, vzorkovací frekvence 8 kHz), Speex wide band (tok 28 kb/s, vzorkovací frekvence 16 kHz), Speex ultra wide band (tok 36 kb/s, vzorkovací frekvence 32 kHz)
Kodek
Standard
Přenosová rychlost (kb/s)
Vzorkovací frekvence (kHz)
G.711
ITU-T
64
8,00
G.723.1 ITU-T
5.6/6.3
8,00
4,1 3.83.9
G.726
ITU-T
16/24/32/40
8,00
3,85
G.728
ITU-T
16
8,00
3,61
G.729
ITU-T
8
8,00
3,92
GSM
ETSI
3,7
Speex
Freeware
13 8,00 2.15-24.6 (NB) 4-44.2 (WB) 8, 16, 32
iLBC
IETF RFC 3951
8
3,85
13,30
jednáních neslyšících osob například u soudu nebo na úřadě, kde je neschopnost domluvit se pro neslyšící osoby zvlášť tíživým problémem. V tuto chvíli je projekt stále ve vývoji. Probíhají první testy. Po úspěšném testování budou služby centra dostupné všem neslyšícím v ČR a do budoucna i v zahraničí. Sloužit by k tomu mělo vytvoření Live CD systému, po jehož instalaci bude systém připravený ke spuštění i bez složitějších technických znalostí. Samozřejmě bude vždy nutné najít partnera pro automatické rozpoznávání řeči, zejména co se týká méně rozšířených národních jazyků, jako je čeština. V budoucnu by inovativním prvkem projektu mělo být propojení komunikačního systému se speciálním SW na rozpoznávání řeči. Rychlopísaře by pak mohl nahradit automat.
MOS
V rámci projektu navázalo RDC centrum úzkou spolupráci se společností Newton Technology, která se rozpoznáváním hlasu velmi intenzívně zabývá. Projekt eScribe je financován Nadací Vodafone ČR a částečnou podporou grantu MHMP.
Literatura [1] MEGGELEN J., MADSEN L., SMITH J.: Asterisk™: The Future of Telephony, O’Reilly Media, Inc., 2007
tab. 1 Nejrozšířenější hlasové kodeky
Závěr Široce dostupné přepisovací centrum umožní poskytovat službu přepisu mnohem většímu okruhu osob s postižením sluchu. Prostřednictvím přepisu na dálku bude možné zajišťovat službu přepisu levněji než při osobní přítomnosti přepisovatele na místě konání akce a bude možné také podstatně zvětšit počet „přepisovaných“ akcí. Díky online přepisu se neslyšícím zpřístupní kulturní, vzdělávací, společenské či jiné akce, kterých by se kvůli komunikační bariéře nemohli zúčastnit. Přepis lze využít také při individuálních
[2] ITU-T: T.140: Protocol for multimedia application text conversation, 1998 [3] Hellström G: IETF RFC 4103: RTP Payload for Text Conversation, 2005 [4] Horlin S: ToIP functionality in Asterisk, 2007, dostupné online z http://liu.divaportal.org/smash/get/diva2:24141/FULLT EXT01 [5]
http://www.emory.edu/BUSINESS/et/P98/ iptel/