# Základy multimédií ## Multimédia - neexistuje přesná definice - intuitivní definice - spojení textu, audia, obrázku, animace nebo videa se zařízením, které je shopné jej prezentovat (PC, mobil, televize) - pro účely UPG - multimédia = video (bez zvuku i se zvukem) a audio **Význam** - komunikace mezi lidmi - hlasové ovládání zařízení - zabezpečení objektu a příbuzné + šíření vlastního názoru nebo umělecké produkce + prezentace produktu + vysvětlení složitějšího problému + upoutávky + ... ### Digitální video - sekvence jednotlivých obrázků (snímků) doprovázená audiozáznamem, případně titulky - snímky = bitmapové obrázky - stejná velikost (rozlišení) - stejná barevný model a bitová hloubka - sousední snímky se odlišují jen mírně - snímková frekvence (fps) - minimálně 24 fps pro navození iluze plynulého pohybu - záleží na rychlosti pohybu, který chceme zachytit + nejjednodušší podoba - adresář s obrázky - nepraktické - mnoho souborů, velmi neefektivní přístup ke snímkům - informace o fps není součástí - lepší je využít některý ze standardních formátů **Velikost snímků (rozlišení)** + teoreticky libovolné + používá se standardní rozlišení nebo jeho násobky - 240p – 320x240 (4:3) - 360p – 480x360 (4:3) nebo 640x360 (16:9) - 480p, 480i – 640x480 (4:3) nebo 720x480 (3:2), resp. 704x480 (5:3) nebo 853x480 (16:9) - 720p – 1280x720 (16:9); HD - 1080p, 1080i – 1920x1080 (16:9); FullHD - progressive scan (p) - pixely zpracovávány řádek po řádce zleva doprava - interlaced scan (i) - pixely zpracovávány ob řádek zleva doprava - určeno pro CRT monitory, dnes nevhodné **Datový tok** - počet bitů za sekundu, které je potřeba přenést - FullHD (1920x1080) film s 29.97 FPS při 24 bitech na pixel = cca 178 MB/s - velmi velký datový tok - potřeba použít kompresi **Kodek** (**co**der-**dec**oder) - algoritmus pro kompresi (coder) a dekompresi (decoder) - transformuje data do úspornější podoby dle nastavení - různé nastavitelné parametry - musí být k dispozici na straně příjemce - často součástí OS, některé lze doinstalovat ### Kompresní přístupy **Barevné podvzorkování** - zahození barevné informace (RGB na YCbCr, YCoCg, YUV, apod.) - redukuje barevné kanály **Statickou část scény neukládat vícekrát** - rozsekání obrazu na makrobloky, ty uloženy vždy jen jednou - pro další snímek informace, kam se makroblok posunul - čas od času potřeba restartovat **GOP = Group of Picture Size** - určuje, jak často se snímek má kódovat jako klíčový - 1 - každý je klíčový - 30 - 1 klíčový snímek + 29 rozdílových - nejčastěji používané - dlouhé GOP (např. 300) - pro archivní účely **Možnosti volby velikosti datového toku** - konstantní velikost (CBR, constant bit rate) - každý snímek kódován přibližně stejným počtem bytů - jednoduché, obsah snímku ignorován - něco příliš kvalitně, něco nedostatečně - variabilní velikost (VBR, variable bit rate) - snímky mohou být kódovány různě velkým počtem bytů - udává se průměrný požadovaný tok + maximální povolený - složitější algoritmy, obvykle preferováno **Jednoprůchodová komprese** + snímek okamžitě zpracován a odeslán na výstup + úroveň komprese pro dosažení průměrného toku nutno odhadnout + jediné možné pro přímý přenos TV vysílání **Víceprůchodová komprese** + obvykle dvouprůchodová + v prvním zjistí složitost snímků, v dalším provede vlastní kompresi + vhodné pro archivační účely, využíváno ve spojitosti s VBR ### Standardní formáty **MPEG-2** - DVD filmy, digitální TV, Blu-ray - méně náročné dekódování **VC-1** - vylepšený MPEG-2 - pro internetové vysílání, Blu-ray - patentováno - pro vytváření potřeba licence - WMV, WMA kodek **MPEG-4** - stále se vyvíjející formát s mnoha doplňky (part) - náročnější kódování, vyšší nároky na dekódování - mnohem menší datový tok - part 2: DivX, XviD, QuickTime kodek - part 10: H.264 kodeky - Blu-ray, YouTube, kabelová TV, vizuálně bezettrátová komprese - nejrozšířenější volná implementace = x264 ### Vytváření videa **Zdroj obrazu** - uspořádaná množina obrázků vytvořených nějakým programem - animované filmy, animované vizualizace - oblast obrazovky - hardwarové zařízení (web kamera, ...) Již při vytváření je nutné rozhondout, jak bude video distribuováno: - soubor uložený na pevném médiu - na začátku hlavička (rozlišení, frekvence, ...) - poté vlastní video, často menší soubory - streamovaně prostřednictvím TV nebo internetu - datový proud rozdělen na drobné úseky (např. několik ms) - hlavička před každým úsekem, větší soubory ## Audio - zvuk = mechanické vlnění - digitální audio = sekvence amplitud mechanického vlnění (tzv. vzorků) **Vzorkovací frekvence** - zavisí na rychlosti zachycovaného zvuku - 16 kHz - stačí pro mluvené slovo - 44.1 kHz - obsáhne celý slyšitelný rozsah - zkresluje zabarvení tónu - používáno v audio CD - 48 kHz - nejčastěji užívaná frekvence - 96 kHz, 192 kHz - DVD a Blu-ray - umožňuje další editaci zvuku **Datový tok** - počet bitů za sekundu, které je potřeba přenést - hudba se vzorkovací frekvencí 192 kHz při 8 bytech na vzorek = cca 1.5 MB/s - písnička typické délky (4 min) = cca 350 MB - hudba k filmu (120 min) = cca 10 GB **Audio kanály** - audio může obsahovat více kanálů - ukládány nezávisle - datový tok roste lineárně s počtem kanálů - monofonní zvuk = 1 kanál - stereofonní zvuk = 2 kanály - domácí kino = 6 kanálů **Snížení datového toku** - nižší vzorkovací frekvence (ztráta kvality) - komprese dat - zvukové kodeky - obvykle specifikována požadovaná velikost toku a kodek automaticky určí snížení kvality - snížení počtu bytů vzorku - kvantizace rozsahu - nejčastěji 16 bitů / vzorek (-32768 ... 32767) - další kompresní přístupy ### Standardní formáty **WAV** - pouze kvantizace na 16 nebo 8 bitů - vhodné pro audio CD nebo další zpracování Windows Media Audio (**WMA**) - patentováno - potřeba licence - umožňuje digitální ochranu - kompresní poměry běžně až 10:1 MPEG-1 Audio Part 3 (**MP3**) nebo MPEG-2 Audio Advanced Audio Coding (**AAC**) - patentováno - nízké nároky na dekódování - podporuje nejen CBR, ale i VBR **OGG** Vorbis - open-source - srovnatelné s předchozím ## Kontejnery - audio i video v jednom souboru - vyžadují dva programy - **multiplexor** (muxer) - odesílací strana - slučuje proudy videa, zvuku a titulkových stop do jednoho proudu dat - podporuje typicky různé video a audio kodeky - informace o rozlišení, typu komprese pro video/audio, počet audio kanálů a jejich mapování na reproduktory jsou součástí proudu dat - **demultiplexor** (demuxer, splitter) - přijímací strana - separuje ze složitého proudu data, o které je zájem - systém správy multimédií (typicky součást OS) předá separované proudy příslušným kodekům a jejich výstupy výstupním zařízením **Nejčastější kontejnerové struktury** - Audio Video Interleave (**AVI**) - MPEG, např. MPEG-2 Transport Stream (MPEG-TS) nebo MPEG-4 (ASF) - Matroska (MKV, WebM) - Flash Video (FLV) - Windows Media Video (WMV) **Pro samostatné audio** - lze použít obecné kontejnery pro video - specializované audio kontejnery - WAV, MP3, ... Pro zjištění obsahu kontejneru je potřeba použít utilitu. ## Úprava videa **Živé video** - veškeré úpravy se provádí hned při vytváření **Uložené video** - větší možnosti - změna datového toku, změna velikosti obrazu, oříznutí snímků, komprese lepším kodekem, střih, odšumění, ... **Komerční nástroje** - určeny pro profesionální úpravy - např. Adobe Premiere, Camtasia Studio, Pinnacle Studio, ... **Volně dostupné** - určeno pro amaterské úpravy - např. FFmpeg, ShotCut, ... ## Multimediální prezentace - interaktivní prezentace s videosekvencemi **Řešení 1.** - celá prezentace uložená jako jedno video v běžném formátu - interakce není k dispozici, videosoubor lze snadno distribuovat a zpřístupnit **Řešení 2.** - uložit prezentaci v DVD nebo Blu-ray formátu - omezené možnosti interakce - DVD - pouze menu ke spuštění částí a výběru zvukové stopy či titulků - Blu-ray - totéž jako DVD + vykreslování vektorové grafiky přes video s možností reakce na ovladač BR přehráče - vše distribuovat na DVD nebo Blu-ray **Řešení 3.** - napsat si vlastní interaktivní aplikaci v nějakém programovacím jazyce (Java, C++, C#, ...) - maximální možnost interakce, složitější vývoj - funguje na pratformách, pro které je přeložena - videosekvence mohou být součástí aplikace nebo přehrávány z internetu - vlastní server nebo CDN