260 lines
No EOL
9 KiB
Markdown
260 lines
No EOL
9 KiB
Markdown
# 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 |