Přehled multimédia: přináší další způsoby interakce s počítačem - zvuk a video hypermedia - nelineární práce s médii -Ted Nelson (1965) Normal Text Interakce multimédií a sítí kódování do vhodného formátu a jeho dekódování u příjemce ošetření chyb přenosu parametry Quality of Service (QoS) - šířka pásma, zpoždění (latence, RTT), jitter synchronizace mezi médii klient - server vs. peer-to-peer (P2P) aplikace multicast Aplikace www multimediální produkty, databáze, hry videokonference streamování (aka video-on-demand, webcasting či netcasting), interaktivní virtuální realita zpracování videa, distribuované střižny ukázky - WebMuseum, Paris http://www.ibiblio.org/wm/ - BBC, CNN http://www.bbc.co.uk/, http://www.cnn.com - Index of Multimedia Information Sources http://viswiz.gmd.de/Multimedialnfo/ - archívy konferencí Internet2, Canarie http://www.internet2.edu/, http://www.canarie.ca/ - ResearchChannel http://www.researchchannel.org/ Audio nahrávání/přehrávání syntéza zvuku (příp. řeči) efekty nad zvukem posílání zvuku v digitální formě sítí Audio - digitalizace zvuk - spojité tlakové vlny putující vzduchem - běžné fyzikální jevy vln: odraz, ohyb, difrakce mikrofon - převod zvuku na napěťový analogový signál PCM (Pulse Code Modulation) - vzorkování - rozdělení časové osy • většina lidí nedokáže rozlišit zvuky nad 20 kHz • vzorkovací frekvence musí být nejméně dvojnásobek frekvence zaznamenávané (Nyquistuv teorém) • řeč: 11.025 kHz (telefon: 8 kHz) zvuk nižší kvality: 22.05 kHz CD: 44.1 kHz (frekvence >22.01 kHz se odfiltrují před zpracováním) DAT: 48 kHz • vysoce kvalitní záznam: 96 kHz - kvantování (quantization) - rozdělení svislé osy (intenzita - tlak/napětí) • 1 bit odpovídá přibližně 6 dB (2x hlučnejší) • CBR vs. VBR • telefon: 8 bitů (256 úrovní, mono) CD: 16 bitů (65536 úrovní, stereo) je-li Vmax maximální positivní a negativní amplituda signálu a n je počet použitých bitů, pak kvantizační interval g je definován: q = (oj Andug mpui -qr,-: %- wrp^ Handlím ling ■: i :■ i-Kj Andcg-todigifal r hi m í.Lx . \c\ M Ľ Ljlued codewords ■^•■n......:-^ii Figure 2.2 Signal encoder design: (a) circuit components; (h) associated waveform set. odbočka k Nyquistovu teorému - původní signál - vzorkování na stejné frekvenci - vzorkování na 1.5-násobné frekvenci - vzorkování na 2-násobné frekvenci - vzorkování na ještě vyšší frekvenci podvzorkování (undersampling) - podvzorkovaná frekvence se „schová" za jinou frekvenci Skrini Tirflft. mi Ôbťtt Fi [| Lire 2,3 Alias signal generation due to undersampling chyby v kvantování - chyba v záznamu může být ±q/2 - několik úrovní intenzity se representuje jednou hodnotou => kvantovací šum - vylepšit lze • ditheringem • nelineárním kvantováním - ucho je nelineární člen soustavy zvuk - mozek ;-) (zhruba logaritmický) - zhuštění úrovní v oblasti, kde je to třeba; u zvuku je I třeba mít jemněji rozlišenou oblast s nízkými kmitočty, protože ucho je v této oblasti citlivější na šum la) Analog Ptib- ty iVagniluLit? ii y codawafdi í>innlÍ7nlion firrofs ! f-------1------1------^ -V? Sampling insKjnrj ......i ■ ■ (bi Va /2 — ■ ■ ■ ■■■ ■ ■ Hr: ľ"nr = -fi f : hqi - +i ^AcIlqI amplitude Nrini^ťil :■■"! |> hxlis I** Figure 2.4 Quantization procedur«: |a) source nf errors; (b) noise polarity. sum - signal / noise ratio SNR = 10 log ^^ = 20 log ^^ -8 bitů-SNR 50 dB 16 bitů-SNR 98 dB příklady Quality Sample Rate Bits per Mono/ (KHz) Sample Stereo Data Rate (Uncompressed) Frequency Band Telephone AM Radio FM Radio CD DAT 8 11.025 22.050 44.1 48 8 Mono 8 KBytes/sec 8 Mono 11.0 KBytes/sec 16 Stereo 88.2 KBytes/sec 16 Stereo 176.4 KBytes/sec 16 Stereo 192.0 KBytes/sec 200-3,400 Hz 20-20,000 Hz 20-20,000 Hz Zpracování signálu - FT Fourierova analýza M Amlofj Eigng sTipilude (bf La^ írůqi-iai^ ■_:_-"111_.-. ^ 111-= I li ŕ -17H High frequency ^xjnipo*i*nl Fourierova tranformace V ak cos(27ikf0t) + bk sin(27Úf0t)) na počítači nemůžeme dělat nekonečné součty => diskrétní FT můžeme předstírat, že x(t) je periodické se stejnou délkou, jako je délka záznamu základní frekvence = 1/délka záznamu window function - minimalizace nespojitosti fází na rozhraních segmentů Zpracování signálu - diskrétní kosinová transformace (DCT) DCT používá reálná čísla obrázek o NxN pixelech: DCTje pole koeficientů:Q kde: [pm,0 kvantování -> Huffmanovo kódování Layer I-384 kbps-4:1 Layer II -192 kbps- 8:1 Video - kódování, komprese komprese obrázků - Lempel-Ziv, GIF (8 bitový index barev, slovníková LZ komprese; 10:1 až 2:1) -JPEG zdroj DCT t=> kvantování kódování komprimovaný obraz JPEG - DCT - bezeztrátová • DC, AC koeficienty - kvantování - tabulky kvantovacích koeficientů - kódování • RLE pro nulové koeficienty • Huffman pro nenulové • delta kódování pro DC koeficienty -barva • možnost redukce 24 bitů na 8 bitů Jak funguje MPEG intraframe vs. interframe komprese 3 typy snímků (frames) - I frames - intrapicture, referenční snímek - P frames - predicted, rozdíl oproti předchozímu snímku - B frames - bidirectional predicted, interpolace mezi předcházejícím a následujícím Input stream Frame 1 1 i i i im^*^w-J ■ ■ p* ■ ■ ■ ' J. Frame 2 L 1 !■ !■■ .1 Frame 3 rm......' " ■ "i Frame 4 Frame 5 Frame 6 i " ' < ■ i Frame 7 MPEG compression Forward prediction Compressed stream Bidirectional prediction w*+*^+i*k4hjP*mm++i*maŔ —sea ■ f|gura 7.13 Sequence of I, P, and B frames generated by MPEG. MPEG - komentář pro přenos po síti je důležité: - snímek P nemá smysl bez snímku I - snímek B nemá smysl bez snímků I a P - v případě snímků B se snímky neposílají v sekvenčním pořadí MPEG nedefinuje poměr l/P/B snímků - pouze I snímky ~ MJPEG snímky I - makrobloky 16x16 vyšší citlivost oka na jasovou složku (Y) Color frame 16 x i pixel pffffNf UUíIÍľ [ f i J1 M i J 16 | region „ » ' ill Filli s x 1 16 x 16 macroblock with Y component -J 1 ' —I — 8x8 macroblock with U component 8x8 macroblock with V component Figure 7.14 Each frame as a collection of macroblocks. snímky B a P jsou zpracovány také po makroblocích snímky B -výjimečně může být makroblok stejný jako v případě I snímku (v případě velké změny) - čtveřice • souřadnice makrobloku ve snímku • motion vector vzhledem k předchozímu referenčnímu snímku • motion vector vzhledem k následujícímu referenčnímu snímku • ô pro každý pixel - změna pixelu vzhledem k referenčním snímkům (komprese DCT) Fc(x,y) = (F_(x+x.,y+y_) + Ff(x+xf,y+yf))/2 + ô(x,y) motion vector & motion estimation Target Reference ^-_-_—Searching region (*,y)___ □ i~Cx t r Reference Motion s*^ (*,y) VCt. IUI \U,VJ MPEG v reálném čase? S podporou HW ano, bez ní to trochu bolí... MPEG formáty MPEG-1 - rok 1993 - 1 -1.5 Mbps - náhodný přístup - 0.5 s MPEG-2 - rok 1995 - digital TV, DV, DVD - až 100 Mbps - od 4 Mbps výrazně lepší kvalita než MPEG-1 - MPEG-2 main profile SeqHdr ■! Group of pictures SeqHdr Group of pictures ■ * • SeqEndCode GOPHdr Picture Picture . * * * Picture 1.................. -1............' ^ ■*»-------.............. -*"--.■_ ■ ^. ■— "** ■ ' .................-------------------------------------------------------------------""•-*-» - PictureHdr Slice Slice * * # Slice i...... . , "■■'........-. ^ -» ....... ■**-«. ___^--"" ^"^-—--^^ SliceHdr Macroblock Macroblock • • * Macroblock '■-■"■■•........ ........,.P.M.p„...--------------- >.■*'.■ V ■' , ' "-------■■■" --------- *™"*-*-H ,■*?-", iTľ. .......—------------------------------:------------------------■----------— r -i»n MBŔdr Block(O) Blockd) Block(2) BlockO) B!ock(4) Block(5) (,. Figura 7.16 Format of an MPEG~compre»»ed video stream. - CBR vs. VBR (změny BR pro jednotlivé GOP -např. změnou kvantování) - co je optimální BR v případě multicastu?? => odpověď: vrstvení dat - problémy s retransmisí v TCP - nepřijatelně velká latence v případě výpadku - přenos po UDP - má smysl pečlivě volit rozhraní paketů, aby ztráta paketu „moc nebolela" => Application Level Framing - problémy se ztrátami I snímků => diffserv - problém s latencí: IIBBBBBPBBBBBI člověk vnímá hranici 100 ms, ale 5x 67ms (15 fps) = 335 ms! - kombinace s audiem - interleaving - optimalizace v případě ucpání sítě • vynechání B snímků a přenos audia místo nich, protože člověk je mnohem citlivější na nekvalitní audio než na nekvalitní video MPEG-4 - určeno pro malou šířku pásma 10 kbps až 1 Mbps - důležitý bezchybný přenos - organizace do objektů, k nimž lze přistupovat samostatně - hierarchie úrovní detailů (posílány současně) • podpora klientů s různou kapacitou zpracování - MS (Streaming) Media, RealMedia, DivX MPEG-2 (like) - pečlivě licenčně ošetřeno (no royalties) 25 Mbps (DVCPRO-50 50 Mbps) kompresní poměr 5:1 intraframe a interfield komprese -frames (snímky) vs. fields (půlsnímky) DV artefakty - fathering DV, DVCAM, DVCPRO DV artefakty - quilting DV artefakty - motion blocking > ■*u