1 2. přenáška Hlas a jeho kódování Osnova přednášky 2 1. Zpracování hlasu 2. Kodeky 3 1. Hlas Hlas 4 Kmitočet hlasivek je charakterizován základním tónem lidského hlasu (pitch periode) F0, který tvoří základ znělých zvuků (tj. samohlásek a znělých souhlásek). Kmitočet základního tónu je různý u dětí, dospělých, mužů i žen, pohybuje se většinou v rozmezí 150 až 4 000 Hz. Sdělení zprostředkované řečovým signálem je diskrétní, tzn. může být vyjádřeno ve tvaru posloupnosti konečného počtu symbolů. Každý jazyk má vlastní množinu těchto symbolů – fonemů, většinou 30 až 50. Hlásky řeči dále můžeme rozdělit na znělé (n, e, ...), neznělé (š, č, ...) a jejich kombinace. Znělá hláska představuje kvaziperiodický průběh signálu, neznělá pak signál podobný šumu. Navíc energie znělých hlásek je větší než neznělých. Krátký časový úsek znělé hlásky můžeme charakterizovat její jemnou a formantovou strukturou. Formantem označujeme tón tvořící akustický základ hlásky. Ten vlastně představuje spektrální obal řečového signálu. Jemná harmonická struktura představuje chvění hlasivek. Příklad časového a kmitočtového průběhu znělého a neznělého segmentu hovorového signálu 5Blíže http://www.itpoint.cz/ip-telefonie/teorie/princip-zpracovani-hlasu-ip-telefonie.asp Pěvecké výkony jsou mimo oblast IP telefonie  6 Blíže diskuze na http://forum.avmania.e15.cz/viewtopic.php?style=2&f=1724&t=1062463&p=6027671&sid= 7 2. Kodeky Brána VoIP 8 Architektura VoIP brány 9 SLIC – Subscriber Line Interface Circuit PLC – Packet Loss Concealment (odstranění důsledků ztrát rámců) Echo canceliation – odstranění odezvy Některé vlastnosti kodérů 10  Voice Activity Detection (VAD) V pauze řeči je produkováno jen velmi malé množství bitů, které stačí na generování šumu.  Silence Suppression (DTX nebo SS) často VAD/SS Při delším odmlčení se úplně zastavuje přenos dat.  Comfort Noise Generation (CNG) Generování šumu pozadí  Packet Loss Concealment (PLC) Zahlazení ztrát paketů  Dynamic Jitter Buffer (Adaptive) Vyrovnávací paměť rozkmitu dob  Audio Codec Preferences Řešení preferencí kodeků  Perceptual enhancement Zeslabení šumu vytvořeného kódováním/dekódováním Co je kodek? 11 Kodek (složenina z počátečních slabik slov „kodér a dekodér―, respektive komprese a dekomprese; převzato z anglického codec analogického původu) je zařízení nebo počítačový program, který dokáže transformovat datový proud (stream) nebo signál. Kodeky ukládají data do zakódované formy (většinou za účelem přenosu, uchovávání nebo šifrování), ale častěji se používají naopak pro obnovení přesně nebo přibližně původní formy dat vhodné pro zobrazování, případně jinou manipulaci. (viz wikipedia) Vzorkování a kvantování 12 Tři kroky zpracování hlasu: 1. Vzorkování (sampling) – diskretizace signálu v čase 2. Kvantování (quantizing) – diskretizace signálu v amplitudě 3. Kódování – diskrétní hodnoty vzorků jsou reprezentovány pomocí n-bitových čísel Požadavky aplikací 13 Kodeky 14 Mean Opinion Score – metoda založená na statistických šetřeních vybraného vzorku posuzovatelů s hodnocením od 1 (špatně) po 5 (výborně). Tím se liší od modernějších objektivních metod, např. PSQM (Perceptual Speech Quality Measurement) na níž je založen ITU standard P.861 (škála je od 0 po 6,5, ale některá testovací zařízení tyto hodnoty pak automaticky přepočítávají do škály MOS). Zvláštnosti subjektivního hodnocení 15  Starší dávají vyšší MOS než mladší, protože mají vytříbenější sluch.  Muži dávají vyšší MOS než ženy, protože ženy sledují vyšší tóny a ty jsou uříznuty.  Neznámý hlas vnímáme lépe a dáváme vyšší MOS.  Cizí jazyk vede k nižšímu MOS. Kodek G.711 (1965) 16 Kodek G.711 nepoužívá žádnou metodu komprese hlasu. Provádí pouze přímou PCM (Pulse Code Modulation), kde vzorek má velikost 8bitů a vzorkovací frekvence je 8 kHz, potřebná šířka pásma je 64 kb/s, zpoždění způsobené kódováním je pod 1 ms. Kvalita zvuku je při použití tohoto kodeku je obdobná kvalitě tradičního telefonního hovoru. Při logaritmické kompresi je 14b či 13b signál převáděn na 8b signál. G.711 je použit u v ISDN a na páteři sítí IP telefonie. Používají se dva typy algoritmů, oba jsou semilogaritmické (companded PCM), ale liší se ve výběru konstant semilogaritmické křivky: -law, který se používá v Severní Americe a Japonsku; Tam se používá vyšší komprese, protože v tamních telefonních sítích je používáno pouze 7 bitů pro přenos hlasu a osmý bit se používá na signalizaci. a-law, který se používá ve zbytku světa a byl navržen s ohledem na jednodušší zpracování na počítači. V Evropě se používá pro přenos hlasu všech 8 bitů a signalizace je přenášena samostatným kanálem (Například pomocí SS7, CAS či jinou signalizací). V Evropě má tedy přenos hlasu v digitální telefonní síti vyšší kvalitu než stejný přenos pomocí telefonní sítě v Severní Americe či v Japonsku. Princip kódování PCM 17Převzato z http://www.phonet.cz/archiv/dok_osta/ipt-2004_Principy_zprac_hlasu.pdf Kódování -law 18 Pro A-law 1 bit určuje polaritu signálu 3 bity určují příslušný segment 4 bity kódují velikost kvantizační úrovně v daném segmentu Při použití kódování čtyřmi bity je každý segment rozdělen do šestnácti dílčích hodnot, celkově pro kladné i záporné hodnoty signálu tak získáme rozlišení na 256 stupňů, což odpovídá kódování osmi bity. Nové verze G.711 19 G.711.0 byl schválen v roce 2009. Poskytuje bezestrátovou kompresi G.711. Jeho plný anglický název je Lossless compression of G.711 pulse code modulation. Bývá také označován jako G.711 LLC. G.711.1 byl schválen v roce 2008. Je to standard, který vede k rozšíření G.711 o možnost použít vzorkovací frekvenci 16 kHz a vyšší kvalitu zvuku s pomocí tří vrstev. Datový tok je 64, 80 nebo 96 kb/s. G.711.1 s datovým tokem 64 kb/s je kompatibilní s G.711. Vyšší datové toky nejsou kompatibilní s G.711. Frekvenční pásmo je 50 až 7 000 Hz, tři módy, 64 kb/s, 80 kb/s and 96 kb/s. 2 bity navíc umožní 112 kb/s and 128 kb/s, tvoří modely R2B a R3. Dolní pásmo – logaritmicky snímaná PCM + adaptivní vylepšování QoS. Horní pásmo – MDCT (modified discrete cosine transformation), používá se i v MP3, podstata: překrývání vzorků Rozšíření roku 2010 (do 14 000 Hz, plánuje se 20 000 Hz) a bezeztrátová bitová komprese. RFC 5391 20 G.722 (1988) a G.722.1 21 G.722 je nazýván širokopásmovým kodekem, protože používá dvojnásobný vzorkovací kmitočet (16 kHz), pásmo je rozšířeno na 7 kHz. Tímto je dosaženo mnohem vyšší kvality hovoru, než u ostatních kodeků. „Kvalita― se projevuje především v tom, že lze jasně rozeznat, kdo hovoří, což je zvlášť důležité u audiokonferencí a přináší rovněž výhodu z hlediska bezpečnosti (ochrana před falešným volajícím). Jde o 'embedded' kodér, což znamená, že se rychlost může volně přepínat mezi 48, 56 a 64 kb/s bez předchozího oznámení dekodéru. Kodek je velmi vhodný pro všechny profesionální konverzační hlasové aplikace (algoritmické zpoždění je pouhých 1,5 ms) i pro HD. G.722 je podporován některými zařízeními pro videokonference a některými IP telefony. Pro kódování je použit algoritmus SB-ADPCM (sub-band adaptive differential pulse code modulation – 2 kanály). Vyžaduje 30 % výkonu Pentia 100 resp. 10 MIPS DSP. G.722.1 je nejnovější širokopásmový kodek pracující na 24 kb/s nebo 32 kb/s. Byl navržen společností PictureTel, později koupenou společností Polycom, která prodává 16 kb/s (verze kodeku Siréna). Kódovány jsou rámce 20 ms s predikcí na 20 ms. Verze 16 kb/s je podporována systémem Windows Messenger. Rozdíl DPCM a ADPCM 22 Diferenciální pulsně kódová modulace DPCM (Differential Pulse Code Modulation) je modifikací PCM kódování a její princip byl publikován v roce 1952. Systém s DPCM kóduje rozdíly mezi okamžitou hodnotou vzorku signálu v daném vzorkovacím okamžiku a hodnotou predikovanou z předchozích vzorků. K zakódování rozdílu je zapotřebí nižšího počtu bitů. To vede k redukci přenosové rychlosti a tedy i množství přenášených dat se snižuje. DPCM se využívá především při kódování obrazu. Adaptivní diferenciální pulsně kódová modulace ADPCM (Adaptive Differential Pulse Code Modulation) vylepšuje DPCM tak, že srovnávací průběh je vytvářen adaptivně a přizpůsobuje se konkrétním statistickým parametrům řeči. Výsledkem je ještě menší dynamický rozsah než v případě DPCM a tedy opět potřebujeme méně bitů k zakódování vzorku. Kodek G.723.1 (1995) 23 V počátečních dobách VoIP VoIP Forum zvolilo tento kodek jako základní pro použití v protokolu H.323. Je rovněž používán mobilními videotelefony UMTS 99 (standard H.324M), kde Universal Mobile Telecommunication System je 3G systém standardů pro mobilní telefony. Spolu s G.729 jde o nejoblíbenější hlasový kodér pro VoIP. Používá rámce délky 30 ms a odhaduje další průběh na 7,5 ms. Má dva provozní režimy – 6,4 kb/s (r63 – 24bytové rámce) a 5,3 kb/s (r53 – 20bytové rámce). Mezi nimi je schopen přepínat při každém snímku. Norma dva režimy stanovuje jako povinné, bohužel řada implementaci, pracuje pouze v jednom ze dvou režimů. Podporuje detekci hlasové aktivity (VAD – Voice activity detection), diskontinuální přenos (DTX – Discontinuous Transmission) a generování výplňového šumu (CNG – comfort noise generator). Ticho je kódováno ve velmi malých čtyřoktetových snímcích přenášených rychlostí 1,1 kb/s. Pokud informace o tichu nemusí být aktualizována, přenos se zastaví úplně. Mimo systémy VoIP je G.723.1 použit v H.324 doporučeních a bude rovněž využit v nových standardech pro 3G-324 (organizace 3GPP, 3GPP2) pro 3G bezdrátové multimediální zařízení. Je založen na 18 patentech, což může vést k lapáliím při licencování. Způsob realizace kodeku G.723.1 24 Používá se ke kompresi zvuku, pracuje se zvukovými úseky délky 30 ms. G.723.1 se vyznačuje velmi nízkým bitovým tokem. Pro tento kodek jsou definovány dva algoritmy:  MPC-MLQ (Multi-Pulse Maximum Likelihood Quantization) s bitovým tokem 6,3 kb/s;  ACELP (Algebraic-Code Excited Linear Prediction) s bitovým tokem 5,3 kb/s. Například při ACELP a velikosti vzorku 160 bitů jsou nároky na pásmo jen 5,3 kb/s, za což se platí zpožděním způsobeným kódováním 37,5 ms a nižší kvalitou zvuku. PBX musí být nakonfigurovány na podporu ACELP. Počet bitů velikosti vzorku (2, 3, 4, 5) má za následek 4 přenosové rychlosti. Není určen pro hudbu a nevysílá DTMF tóny spolehlivě (musí být předány outof-band). Není určen ani pro modemy a faxové signály. Výhoda ACELP (Algebraic-Code Excited Linear Prediction) 25 Hlavní výhodou ACELP je, že použitá algebraická kódová kniha může být velmi velká (> 50 bitů) a to bez nepřiměřených nároků na paměť (RAM / ROM) či zpracování (CPU). Kodér algoritmu ACELP je založen na kódovacím schématu CELP, používá však specifickou algebraickou strukturu. Všechny kódovací knihy mají problém s cizími jazyky a ty przní. Odolnost kodeku G.723.1 26 G.723.1 dosahuje MOS skóre 3,7 s režimu 5,3 kb/s a MOS 3,9 v režimu 6,4 kb/s. V prvním režimu je používán algoritmus MPC-MLQ (Multipulse LPC with Maximum Likelihood Quantization), v druhém. ACELP (adaptivní s dynamickou rychlostí při kompresi). Tabulka porovnává výkon G.723.1 (6,3 kb /s) a ADPCM v Bell Labs v roce 1994. Cílem výmazů rámců bylo odsynchronizovat kodér a dekodér (aby bylo třeba více snímků na synchronizaci). V praxi bývá chybovost pod 3 % (v ideálním případě až pod 1%). podmínky MOS G.721.1 6,3 kb/s 32 kb/s ADPCM Čistý kanál 3.901 3.781 3% výpadků rámce 3.432 — Tandem dvou kodeků 3.409 3.491 Reakce tandemu kodeků na ztrátu rámce Kodeky G.726 27 Používá techniku ADPCM k zakódování G.711 bitových řetězců slova o délce 2, 3 resp. 4 bity, což vede k datové tokům 16, 24, 32 (dnes nejpoužívanější) či 40 kb/s. Vzorkovací frekvence je 8 kHz (typically 80 vzorků u rámce 10 ms). Používá modulaci ADCPM. Dosahuje MOS 4,3 a je často brána jako měřítko kvality. Jde o kodek s malým zpožděním. Velikost snímků je 125 ms, není použita predikce. Zabere 30 % výkonu Pentia 100 resp. 10 MIPS DSP. K dispozici je rovněž verze známá jako G.727. Je primárně používán na mezinárodní trunky v telefonní síti. Rovněž je používán v bezdrátových telefonních systémech a je používán na některých fotoaparátech Canon. Kodek G.728 (1992–1994) 28 G.728 používá algoritmus LD-CELP (low-delay code excited linear prediction). Při pouhých 16 kb/s má MOS skóre srovnatelné s G.726 na 32 kb/s. V porovnání s PCM nebo ADPCM, které ignorují charakter signálu, je CELP kodér optimalizovaný pro hlas (vocoder). Modeluje konkrétní hlas za použití knihy lineárních prediktivních kódů). Předáváno je pak to, co nejlépe odpovídá charakteru daného hlasu. Pro hudbu je tento kodek nevhodný. V rámci protokolu H.320 je používán pro videokonference a některé H.323 videokonferenční systémy, využívá se zde jeho nízkého zpoždění (625 µs až 2,5 ms). Spotřebuje zato plný výkon Pentia 100 s 2 kB RAM. Variantou tohoto standardu s použitím 15,2 kb/s (nižší rychlost) je RealAudio 28_8 Vyvinuté RealNetworks v roce 1995. Rozdíl CELP a LD-CELP 29 CELP (Code - Excited Linear Prediction) jsou ineárně predikční kodeky s vektorovým kvantováním budícího signálu. Jejich přenosová rychlost se pohybuje od 4 do 8 kb/s. V pamětech kodéru a dekodéru jsou uloženy v kódových knihách soubory možných posloupností vstupního signálu. Je-li v kódové knize nalezena posloupnost odpovídající budícímu signálu, je příslušná adresa budící posloupnosti (tj. vektoru uloženého v kódové knize) binárně přenesena do přijímače. Přijímač pak podle přijaté adresy generuje na základě shodné kódové knihy příslušnou budící posloupnost pro LP (linear prediction) hlasový syntezátor. Optimální vektor je určen užitím kritéria minima střední kvadratické chyby. Jedna z nevýhod původního CELP algoritmu je velká výpočetní náročnost prohledávání kódových knih. Mnoho CELP algoritmů vyžaduje procesory schopné zpracovat více než 20 MIPS a prostor pro kódovou knihu kolem 40 kbytů. Kódovací zpoždění je až 35 ms a omezuje použití CELP kodeků pro přenosy na delší vzdálenosti a jejich vícenásobné užití. Z toho všeho vyplývá snaha o vývoj vhodných prohledávacích algoritmů. Způsob kódování s krátkou dobou zpoždění LD-CELP (LD – Low Delay) je založen na zpětnovazebním řízení adaptace s kódovacím zpožděním do 2ms a přenosovou rychlostí 16 kb/s. Koncepce LD-CELP se od kodeků CELP liší v řešení vlastního hlasového syntezátoru a způsobu jeho řízení. U kodeků CELP se přenášejí v časovém multiplexu lineárně predikční koeficienty vyčíslené v kodéru krátkodobou (STP) a dlouhodobou analýzou (LTP), které slouží v přijímači k periodickému nastavování LPC filtrů hlasového syntezátoru. Naproti tomu mezi kodérem a dekodérem LD-CELP se tato data nepřenášejí a jak kodér, tak dekodér jsou řízeny zpětnovazebně. Blíže http://www.itpoint.cz/ip-telefonie/teorie/princip-zpracovani-hlasu-ip-telefonie.asp Kodek G.729 (1995–1996) 30 Jde o velmi populární kodek pro přenos hlasu přes Frame Relay a pro V.70 hlasové a datové modemy. Spolu s G.723 jde o nejoblíbenější hlasový kodér pro VoIP, ale stále ještě není nativně podporován na platformě Windows. Jedná se o velmi používaný zvukový kodek pracující se zvukovými vzorky délky 10 ms, který používá kompresi zvuku CS-ACELP (Conjugate-Structured Algebraic-Code Excited Linear Prediction). Predikce je na 5 ms. Dosahovaný bitový tok 80bitových rámců má hodnotu 8 kb/s, existuje však i rozšíření pro 6,4 kb/s a 11,8 kb/s, které zajišťuje větší kvalitu přenášeného zvuku. Tento kodek není určen pro přenos hudby, nepřenáší ani spolehlivě DTMF tóny. Neumožňuje přenos faxových a modemových signálů. Přílohy A a B G.729 definují VAD, CNG, a DTX schémata pro G.729. Rámce poslané k aktualizaci pozadí hluku jsou15 bitů dlouhé a zasílány pouze v případě změny pozadí. Je zde 20 patentů, což opět pro projektanty přináší problémy. Většinu patentů mají v rukou SiproLabs (www.sipro.com), platí to i pro G.723.1. G.729A 31 G.729 (1996) vyžaduje cca 20 MIPS pro kódování a 3 MIPS pro dekódování (asi o 30% méně než G.723.1). G.729A (1995): Je zpětně kompatibilní s G.729 a má výhodu v menší náročnosti výpočtu. G.729 je často používán v VoFR, je podporován výrobci mnoha zařízení Frame Relay. Kodeky GSM-FR, GSM-HR, GSM-EFR 32 GSM full-rate Používá techniku RPE-LTP, kóduje rámce 20 ms rychlostí 13 kb/s. Nepoužívá predikci. Není extrémně náročný, požaduje 4,5 MIPS a méně než 1kB RAM. Je patentován Philipsem. Primární určení tohoto prvního GSM digitálního kodeku bylo zařízení DCME (Digital Circuit Multiplex Equipment), pro satelitní telefonii a pro bezdrátové standardy jako je DECT (Digital Enhanced Cordless Telecommunications). Dnes už kvalita zvuku nevyhovuje a tak byl kodek GSM-FR nahrazen modernějšími variantami FR kodeku, které poskytují vyšší kvalitu zvuku při nižší přenosové rychlosti. GSM half-rate (1994) má menší nároky na pásmo (5,6 kb/s) Rámce jsou dlouhé 20 ms a predikce je 4,4 ms. Vyžaduje cca 30 MIPS a 4 Kb RAM. Kodek byl citlivý na hluk pozadí, a proto nebyl úspěšný. GSM enhanced full rate (1995) používá techniku CD-ACELP. Rámce jsou dlouhé 20 ms a rychlost 12,2 kb/s. Standardizován TIA a je základním pro US služby celulární telefonie. MOS GSM kodeků v různých prostředích 33 kodek klid auto ulice GSM FR 3.71 3.83 3.92 GSM HR 3.85 3.45 3.56 GSM EFR 4.43 4.25 4.18 Reference bez kódování 4.61 4.42 4.35 iLBC (2004) 34 iLBC (Internet Low Bit Rate Codec) je další kodek založený na lineární predikci. Jde o otevřený úzkopásmový zvukový kodek specifikovaný v RFC 3951. Zásadní rozdíl oproti starším standardům založených na PCM (jako je G.711) je , že pro lineární predikci používá velmi kvalitní blokově nezávislý algoritmus. Vzorkovací frekvence je 8 kHz/16 bit (160 vzorků pro 20 ms rámce, 240 vzorků pro30 ms rámce). Má fixní bitovou rychlost 15,2 kb/s pro 20 ms rámce, 13,33 kb/s pro 30 ms rámce). Má fixní velikost rámce (304 bitů na blok 20 ms rámce, 400 bitů na blok 30 ms rámce). Zátěž procesoru je srovnatelná s G.729A, má ale vyšší odolnost vůči ztrátě paketů. Kodek je určen pro aplikace reálného času jako je telefonie a videokonference. Vyvinuly ho Global IP Solutions a je popsán v RFC 3951. Používají ho Gizmo5, QuteCom, Google Talk, Yahoo! Messenger, Polycom IP Phone, Maemo Recorder (pro Nokie) a další. iLBC v RFC 3951 35 iLBC freeware 36 Přednost iLBC: vyšší imunita vůči výpadkům rámců 37 iLBC obstojí i bez výpadků 38 Blíže: http://www.packetizer.com/codecs/ilbc/iLBC.WP.pdf Podpora iLBC Cisco 39 Speex (2002) 40 Jedná se opět o otevřený zvukový kodek, který používá pro kompresi zvuku metodu CELP. Používá šířku pásma od 2 do 44 kb/s. Vzorkovací frekvence lze zvolit 8, 16 a 32 kHz. Jde o open a free software, neboli odpadají problémy s patenty a licencemi. je součástí projektu GNU a je dostupný v rámci revidovaných BSD licencí. Jde tedy o alternativu k drahým proprietárním kodekům. Jeho specifikace mu umožňuje dosahovat velmi dobrých kompresních poměrů při zachování srozumitelnosti. Není primárně určen (jako ostatní podobné kodeky) na kompresi telefonních hovorů, ale na VoIP. API Speexu ke stažení 41 Další práce ITU-T SG16 Speech/Audio 42 G.718 Vůči chybám odolné úzkopásmové i širokopásmové kódování řeči a audio 8-32 kb/s + Annex B superpásmové rozšíření (28–48 kb/s). Je zde možnost stereo rozšíření. G.719 nekomplexní, pro kódování audia ve vysoké kvalitě, aplikace jsou konverzačního charakteru (32–128 kb/s) Další nové kodeky 43 SILK je u Skype nástupce původního SVOPC. Byl vyvinut pro desktop s matematickým koprocesorem, pokud není koncové zařízení PC, nevyhovuje. Má jedinou vzorkovací rychlost 16kHz, bitovou rychlost 8 kb/s. SVOPC měl audio a řečový mód, SILK tento rozdíl zmenšuje. SILK má vzorkovací frekvenci 8, 12, 16 či 24 kHz (tři navíc) a bitovou rychlost od 6 do 40 kb/s (proměnlivou dle podmínek přenosu). Může použít nízké algoritmické zpoždění 25 ms (20 ms rámec + 5 ms prognóza). BroadVoice je založen na dvoufázovém kódování TSNFC (Two-Stage Noise Feedback Coding) nahrazujícím populární CELP (Code-Excited Linear Prediction). Má velmi nízké zpoždění, algorithmická práce s vyrovnávacími paměti zpožďuje o pouhých 5 ms (ve srovnání s15 až 40 ms řady dalších kodeků). CELT (Constrained-Energy Lapped Transform) je kodek s ultranízkým zpožděním (typicky od 5 do 22.5 ms) a plným audio pásmem (≥20kHz; vzorkovací rychlost je 8 kHz až 48 kHz). Podporuje hlas i hudbu včetně sterea. Bitová rychlost je 32 kb/s až 128 kb/s i vyšší. Tento kodek je zamýšlen jako most, který vyplňuje mezeru mezi kodeky Vorbis a Speex pro aplikace, které vyžadují jak vysoce kvalitní zvuk, tak nízké zpoždění potřebné pro dialog (Vorbis je svobodný software zamýšlený jako náhrada MP3). Skype Silk 44 BroadVoice 45 CELT 46 Most mezi přenosem hudby a telefonií 47 AAC Low Delay (AAC-LD) je jiný název pro MPEG-4 Low Delay Audio Coder, což je audio kompresní formát kombinující výhody audio kódování s výhodami dvousměrné komunikace s nízkým zpožděním. Tento formát je odvozen a formátu MPEG-2 (Advanced Audio Coding – AAC). Maximální zpoždění je 20 ms. Tento formát je schopen zajistit stereo signál v pásmu 7 Hz na jedné ISDN lince či v pásmu 15 kHz na dvou ISDN linkách. Kvalitní firemní kodeky, např. L16 48 Cisco telefon SPA525G 3 vyžaduje výběr tří kodeků z těchto: G711u, G711a, G726-32, G729a, G722 a L16. Moderní L16 tam nechybí. Na dokumentaci pro CELT se ještě čeká 49 MELP – 1997 (Mixed Excitation Linear Prediction) 50 Pouze pro vojenské aplikace, satelitní komunikaci, utajená rádiové zařízení. Parametry: bloky 22,5 ms zahrnují 180 vzorků, vzorkovací rychlost 8 000 kHz. Pokrývá pásmo 100 Hz - 3800 Hz. V roce 2001MELPe (Enhanced MELP) US standardem MIL-STD-3005, v roce 2002 NATO standardem STANAG-4591. Používá periodické i neperiodické vzorkování a adaptivní filtr. Neperiodické vzorkování odstraňuje choulostivé přechodné úseky signálu mezi hlasem a dalšími zvuky. Návrh: student Georgia Tech, dnes pro komerční použití má licenci Polycomm. FLEXI-232 a FLEXI-422 51 Karta Flexi-232 pro modemy Karta v DTE doplněná PTT zařízením (PTT – Push to Talk resp. Press-to-Transit, určeno pro HDX) Blíže např. http://www.compandent.com/products_melpe.htm Porovnání MOS 52 Porovnání nároků na výkon 53 Informace převzaty ze stránek fy. MATTES AD, spol. s r.o. CBR – Codec Bit Rate, přenosová rychlost kodeku (v b/s) NEB – Nominal Ethernet Bandwidth, nominální ethernetová šířka pásma (v b/s) Který kodek je nejlepší? 54 Nelze jednoznačně určit, který kodek je ten nejlepší, protože některé se vyznačují nízkým bitovým tokem, jiné nízkou náročností na výpočet a samozřejmě různou kvalitou hovoru. Volba kodeku by proto měla vždy záležet na konfiguraci a možnostech nainstalovaného VoIP zařízení a síťové propustnosti. Kodeky, které podporuje Asterisk 55 Dnes preferované kodeky u Cisco 56 Audio Codec Preference Order for Cisco Unified Communications Manager 8.0(1) If Low Loss Is Configured for Link Loss Type If Lossy Is Configured for Link Loss Type AAC-LD—256 kb/s AAC-LD—256 kb/s L16—256 kb/s L16—256 kb/s G.722 64k—64 kb/s iSAC—32 kb/s iSAC—32 kb/s G.722 64k—64 kb/s G.722.1 32k—32 kb/s G.722.1 32k—32 kb/s G.722 —56 kb/s G.722 —56 kb/s G.722.1—24 kb/s G.722.1—24 kb/s G.722—48 kb/s G.722—48 kb/s G.711 mu-law 64 k—64 kb/s G.711 mu-law 64 k—64 kb/s G.711 A-law 64k—64 kb/s G.711 A-law 64k—64 kb/s G.711 mu-law 56k—56 kb/s G.711 mu-law 56k—56 kb/s G.711 A-law 56k—56kb/s G.711 A-law 56k—56kb/s iLBC—16 kb/s iLBC—16 kb/s G.728—16 kb/s G.728—16 kb/s GSM Enhanced Full Rate—13 kb/s GSM Enhanced Full Rate—13 kb/s GSM Full Rate—13 kb/s GSM Full Rate—13 kb/s G.729b—8 kb/s G.729b—8 kb/s G.729ab—8 kb/s G.729ab—8 kb/s G.729—8 kb/s G.729—8 kb/s G.729a—8 kb/s G.729a—8 kb/s GSM Half Rate—7 kb/s GSM Half Rate—7 kb/s G.723.1—7 kb/s G.723.1—7 kb/s Dříve preferované kodeky u Cisco 57 Table 2-4 Audio Codec Preference Order for previous versions of Cisco Unified Communications Manager If Low Loss Is Configured for Link Loss Type If Lossy Is Configured for Link Loss Type --- iLBC—16 kb/s AAC-LD—256 kb/s AAC-LD—256 kb/s L16—256 kb/s L16—256 kb/s G.722.1 24k—24 kb/s G.722.1 24k—24 kb/s G.722.1 32k—32 kb/s G.722.1 32k—32 kb/s G.722 64k—64 kb/s G.722 64k—64 kb/s G.711 mu-law 64k—64 kb/s G.711 mu-law 64k—64 kb/s G.711 A-law 64k—64 kb/s G.711 A-law 64k—64 kb/s G.722 56k—56 kb/s G.722 56k—56 kb/s G.711 mu-law 56k—56 kb/s G.711 mu-law 56k—56 kb/s G.711 A-law 56k—56 kb/s G.711 A-law 56k—56 kb/s G.722 48k—48 kb/s G.722 48k—48 kb/s iLBC—16 kb/s --- G.728—16 kb/s G.728—16 kb/s GSM Enhanced Full Rate—13 kb/s GSM Enhanced Full Rate—13 kb/s GSM Full Rate—13 kb/s GSM Full Rate—13 kb/s G.729b—8 kb/s G.729b—8 kb/s G.729ab—8kb/s G.729ab—8kb/s G.729—8 kb/s G.729—8 kb/s G.729a—8 kb/s G.729a—8 kb/s GSM Half Rate—7 kb/s GSM Half Rate—7 kb/s G.723.1—7 kb/s G.723.1—7 kb/s Nastavení preferencí kodeků na Cisco směrovači 58 voice class codec 100 codec preference 1 g729r8 codec preference 2 g723r63 codec preference 3 g711alaw ! Dohoda o kodeku u SIP (odchyceno Wiresharkem) 59 INVITE sip:novak@sip.domainB.cz SIP/2.0 Via: SIP/2.0/UDP 195.122.198.236:5065;rport;branch=z9hG4bK1441F37B74154C09BD150D68AD8B83F7 From: markl ;tag=1603324369 To: Contact: Call-ID: 650ADF5C-0EB4-499A-9744-2B2561B30C94@192.168.2.111 CSeq: 9126 INVITE Max-Forwards: 70 Content-Type: application/sdp User-Agent: SIPphone Lite release 1104v Content-Length: 321 v=0 o=markl 212548077 212548116 IN IP4 195.122.198.236 s=SIPphone Lite c=IN IP4 195.122.198.236 t=0 0 m=audio 8000 RTP/AVP 0 8 3 98 97 101 a=rtpmap:0 pcmu/8000 a=rtpmap:8 pcma/8000 a=rtpmap:3 gsm/8000 a=rtpmap:98 iLBC/8000 a=rtpmap:97 speex/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=sendrecv Výsledků testů MOS 60 Čipy OPL-2, OPL-3 (Operator Type-L) 61 OPL-2 – zvukový čip Yamaha YM3812 OPL-3 – zvukový čip Yamaha YMF262 (populární ve zvukové kartě Soundblaster 16) OPLL – zvukový čip Yamaha YM2413 244 registrů pouze pro zápis, 9 kanálů zvuku, každý produkovaný dvěma oscilátory. Frekvence (10 bitů) oktáva (3 bity), tvar vlny (celá, půlka, čtvrtka…), tremolo, vibráto, nosná… Moduly složené z procesorů (Packet Voice Digital Signal Processor Modules) 62 Kodeky s vysokou komplexností: G.723.1, G.728, G.729, G.729b, GSM-EFR and Modem Relay Kodeky se střední komplexností: G.711, G.729a, G.729ab, G.726, GSM-FR and Fax Relay Výpis přehledu DSP 63 Vytváření DSP profilů 64 R1(config)#voice-card 0 R1(config-voicecard)#dsp services dspfarm R1(config)#dspfarm profile 1 transcode R1(config-dspfarm-profile)#codec g711ulaw R1(config-dspfarm-profile)#codec g711alaw R1(config-dspfarm-profile)#codec g729ar8 R1(config-dspfarm-profile)#codec g729abr8 R1(config-dspfarm-profile)#codec g729r8 R1(config-dspfarm-profile)#maximum sessions 6 R1(config-dspfarm-profile)#associate application SCCP R1(config-dspfarm-profile)#no shutdown R2(config)#voice-card 0 R2(config-voicecard)#dsp services dspfarm R2(config)#dspfarm profile 1 conference R2(config-dspfarm-profile)#codec g711ulaw R2(config-dspfarm-profile)#codec g711alaw R2(config-dspfarm-profile)#codec g729ar8 R2(config-dspfarm-profile)#codec g729abr8 R2(config-dspfarm-profile)#codec g729br8 R2(config-dspfarm-profile)#maximum sessions 2 R2(config-dspfarm-profile)#associate application SCCP R2(config-dspfarm-profile)#no shutdown Vztah velikosti paketu a rychlosti přenosu paketů 65 Závislost zpoždění způsobené kódováním na velikosti vzorku 66 Požadavky na pásmo pro jednotlivé kodeky 67 Závislost požadavků na pásmo na paketizačním intervalu 68 Typický příklad použití v SLA 69 85 % volání MOS ≥ 4,2 95 % volání MOS ≥ 4,0 4 % volání MOS < 3,8 Trendy vývoje v kodecích 70  Vylepšování kvality, vývoj směrem k širšímu pásmu: Narrowband (-3.4 kHz) --> Wideband (-7 kHz) --> Superwideband (-14 kHz) --> Fullband (-20 kHz)  Multimódové kodeky určené pro řeč i hudbu  Kolaborace ve standardizaci, dříve, speciálně pro ITU platilo pravidlo „vítěz bere vše―.  Řada proprietárních řešení (Skype… )  Open Source, volný software  Co bude následovat? 71 Domácí úkol Na http://www.vocal.com/audio_examples/itu_coders.html