FAV-ZCU/KIV UPG/09. Základy multimédií.md

260 lines
9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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