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ásmo potřebné pro telefonii 6 Pěvecké výkony jsou mimo oblast IP telefonie  7 Blíže diskuze na http://forum.avmania.e15.cz/viewtopic.php?style=2&f=1724&t=1062463&p=6027671&sid= 8 2. Kodeky Brána VoIP 9 Architektura VoIP brány 10 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ů 11  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? 12 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í 13 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í 14 Kodeky 15 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í 16  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) 17 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álu převáděno na 8b signálu. 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 18Převzato z http://www.phonet.cz/archiv/dok_osta/ipt-2004_Principy_zprac_hlasu.pdf Kódování a-law 19 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 20 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 21 G.722 (1988) 22 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 bylo dosaženo mnohem vyšší kvality hovoru, než u ostatních tehdejších kodeků. „Kvalita“ se projevujepř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. Hodnocení G.722 (1988) a kodek G.722.1 23 Kodek G-.722 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 24 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) 25 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 26 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) 27 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 28 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 29 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). 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) 30 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 31 CELP (Code - Excited Linear Prediction) jsou lineá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 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) 32 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. Jak pracuje kodek G.729 33  CS-ACELP kodér pracuje s rámci řeči o délce 10 ms, což při vzorkovací frekvenci 8000 Hz odpovídá 80 vzorkům za sekundu. Každý 10 ms je rámec řečového signálu analyzován pro získání parametrů CELP modelu. Tyto parametry jsou kódovány a přenášeny komunikačním kanálem.  V dekodéru jsou tyto parametry použity k obnovení excitačního signálu a koeficientů syntetického filtru. Řečový signál je pak rekonstruován filtrací excitačního vektoru přes syntetický filtr. Kvalita řečového signálu je pak ještě zvýšena postfiltrem.  Celkové zpoždění nutné pro výpočet algoritmu je 15 ms, další přídavná zpoždění mohou vzniknout během přenosu v komunikačním kanálu nebo při multiplexování dat.  Velkou nevýhodou je zde (stejně jako u G.728 LD-CELP) velký výpočetní výkon potřebný k prohledání celé kódové knihy a nalezení nejlepšího excitačního vektoru. G.729A 34 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. Kodek GSM (Global System for Mobile communications) 35 Testování kódovacích algoritmů se provádělo pro těchto sedm jazyků: angličtina, němčina, francouzština, finština, japonština, španělština a hindština. Výběr probíhal z těchto typů kódování: Výsledkem byla nakonec kombinace řešení od firmy Philips a IBM. Vznikl tak kodek s označením RPE - LTP (Regular Pulse Excitation – Long Term Prediction). Obvody kodeku jsou realizovány signálovými procesory a lze je podle funkce rozdělit na tyto hlavní bloky: • předzpracování signálu, • analýza LPC, • krátkodobá analýza a filtrace, • kódování RPE a analýza LTP. Celková bitová rychlost signálu bitový 13 x 8 kHz = 104 kb/s se po analýze RPE–LTP změní z původní rychlosti 104 kb/s na 13 kb/s. Kodeky GSM-FR, GSM-HR, GSM-EFR 36 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 37 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) 38 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 39 iLBC freeware 40 Přednost iLBC: vyšší imunita vůči výpadkům rámců 41 iLBC obstojí i bez výpadků 42 Blíže: http://www.packetizer.com/codecs/ilbc/iLBC.WP.pdf Podpora iLBC Cisco 43 Speex (2002) 44 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í 45 Další práce ITU-T SG16 Speech/Audio 46 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 47 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. Založen je na lineární predikci 5,2 ms. 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,2 ms (20 ms rámec + 5,2 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í, algoritmická práce s vyrovnávacími paměti zpožďuje o pouhých 5 ms (ve srovnání s 15 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 48 BroadVoice 49 CELT 50 Na dokumentaci pro CELT se ještě čeká 51 Vorbis 52  Vorbis je ztrátový audio formát, který se měl stát náhradou formátu MP3. Jeho vývoj je zastřešen organizací Xiph.Org Foundation. Vorbis audio bývá nejčastěji uloženo v kontejneru Ogg a v tomto spojení je nazýváno Ogg Vorbis.  Softwarová implementace formátu Vorbis vyvíjená nadací Xiph.Org, kodek libvorbis, je svobodný a open source software uvolněný pod licencí BSD. Hybridní Opus - 2011 53  Mix technologií - Octasic, Skype, Xiph.Org and Broadcom.  V hybridním Opusu je každý rámec nejdříve kódován na LP (linear prediction) vrstvě (do 8 kHz) a pak na MDCT vrstvě (nad 8 kHz). Vrstva SILK je VBR (Variable bit rate) a CELT je CBR (Constant bit rate). SILK potřebuje prognózu na 5,2 ms, CELT na 2,5 ms. Nesoulad je řešen zpožděním CELT o 2,7 ms.  Modifikovaná diskrétní kosinová transformace (MDCT – modified discrete cosine transform) je transformace blízká Fourierově. Je založená na typu IV diskrétní kosinové transformace (DCT-IV), Má delší časová okna a vlastnost překrývání: druhá polovina bloku se překrývá s první polovinou bloku dalšího. Tato finta vyhlazuje přechody mezi bloky, proto je použita ve ztrátových formátech typu MP3 (MPEG-1 Audio Layer 3) či Media Audio. Kvalita versus bitová rychlost 54 Bitová rychlost kontra zpoždění 55 Opus standardizován v roce 2012 56 Most mezi přenosem hudby a telefonií 57 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 58 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í. Pro vojenské aplikace: MELP (1997) 59 MELP (Mixed Excitation Linear Prediction) je určen 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 zpracoval student Georgia Tech, dnes má pro komerční použití licenci Polycomm. FLEXI-232 a FLEXI-422 60 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 61 Porovnání nároků na výkon 62 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ší? 63 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. Problémy s kodeky na PC 64  Kodeky můžou být napsány pro 32bitové nebo 64bitové operační systémy. Pokud používáte 64bitovou verzi systémuWindows, musíte nainstalovat kodeky pro 64bitovou verzi. Pokud například v 64bitovém operačním systému nainstalujete 32bitový kodek, přehrávač možná nebude moci přehrát žádné soubory, které tento kodek vyžadují.  Mnoho starších kodeků je k dispozici pouze ve 32bitové verzi. Pokud poskytovatel kodeku neurčí, zda jde o 32bitovou nebo 64bitovou verzi kodeku, pravděpodobně se jedná o 32bitovou verzi. Media Player 65 Kodeky, které podporuje Asterisk 66 Dnes preferované kodeky u Cisco 67 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 68 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 69 voice class codec 100 codec preference 1 g729r8 codec preference 2 g723r63 codec preference 3 g711alaw ! Dohoda o kodeku u SIP (odchyceno Wiresharkem) 70 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 71 Čipy OPL-2, OPL-3 (Operator Type-L) 72 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) 73 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 74 Vytváření DSP profilů 75 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ů 76 Závislost zpoždění způsobené kódováním na velikosti vzorku 77 Požadavky na pásmo pro jednotlivé kodeky 78 Závislost požadavků na pásmo na paketizačním intervalu 79 Typický příklad použití v SLA 80 85 % volání MOS ≥ 4,2 95 % volání MOS ≥ 4,0 4 % volání MOS < 3,8 Trendy vývoje v kodecích 81  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)  Zvyšování odstupu od vnějšího šumu (auto, letadlo, vrtulník…)  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? 82 Domácí úkol Na http://www.vocal.com/audio_examples/itu_coders.html