PV188 Principy zpracování a přenosu multimédií Miloš Liška xliskaOfi.muni.cz podzim 2020 Zvuk ► Podélné mechanické vlnění v látkovém prostředí (vzduch), které je schopno vyvolat v lidském uchu sluchový vjem ► Aplikují se běžné fyzikální jevy jako pro jiná vlnění: ► odraz ► ohyb ► difrakce Zvuk Vlastnosti zvuku ► Frekvence ► Lidé slyší zvuky ve frekvenčním pásmu přibližně 16 Hz až 20 kHz ► Intenzita vlnění ► Intenzita vlnění (zvuku) je definována jako množství energie, které projde jednotkovou plochou kolmou na směr šíření na jednotku času. ► Zavádíme prahová intenzitu jako nejnižší ještě slyšitelnou intenzitu čistého tónu o frekvenci 1 kHz ► Hladina intenzity zvuku (dB) se zavádí jako logaritmická škála, která prahové intenzitě přiřadí nulovou hodnotu. Logaritmickou škálu používáme protože intenzita běžných zvuků kolísá v rozsahu několika dekád. ► Hlasitost zvuku ► Vztah mezi intenzitou vlnění a intenzitou vjemu závisí mimo jiné i na frekvenci ► Proto definujeme ještě hladinu hlasitosti a hlasitost, které berou do úvahy fyziologické vnímání intenzity zvuku v závislosti na jeho frekvenci Vnímání zvuku ► Složitý proces, závislý na mnoha faktorech, pro který zatím nebyla vytvořena uspokojivá teorie ► Frekvenční rozsah ► Frekvenční rozsah zvuku, který většina lidí vnímá, začíná kolem 20 Hz a dosahuje ke 20 kHz. S rostoucím věkem horní hranice výrazně klesá. ► Dynamický rozsah ► Dynamický rozsah lidského ucha (rozdíl mezi nej hlasitějším a nejtišším vnímatelným zvukem) je uprostřed slyšitelného frekvenčního pásma asi 120 dB. Na okrajích pásma je mnohem menší. ► Rozlišování frekvence ► Schopnost rozlišit frekvence tónů se u každého člověka liší a je frekvenčně závislá. Uprostřed slyšitelného frekvenčního pásma je rozlišovací schopnost vyšší než na okrajích pásma. Vnímání zvuku ► Frekvenční maskování ► Schopnost odlišit dva frekvenčně blízké tóny. Pokud znějí dva tóny současně, může jeden z nich potlačit slyšitelnost toho druhého. Maximální úroveň maskovaného signálu je závislá na frekvenční vzdálenosti a úrovni maskujícího signálu. Maskovací schopnost je též závislá na frekvenci maskujícího tónu. Vnímání tónů s blízkými frekvencemi je ovlivněno šířkou kritického pásma. To má na nejnižších kmitočtech velikost kolem 100 Hz, zatímco na nejvyšších kmitočtech dosahuje až 4 kHz. Využití u některých algoritmů pro kompresi zvukových dat, např. MP3, Vorbis nebo ATRAC. ► Časové maskování ► Pokud po hlasitém tónu následuje stejný tón s menší hlasitostí, je jeho vnímání potlačeno. Potlačen může být i tichý tón předcházející maskovacímu tónu. Zpracování zvuku ► Akvizice zvuku ► Diskrétní reprezentace spojitého zvukového vlnění ► Zpracování diskrétních zvukových dat ► Analýza zvuku za použití psychoakustických modelů ► Použití zvukových filtrů: ekvalizace, odstranění šumu a echa apod. ► Datová komprese ► Uložení na datový nosič, pevný disk apod. ► Přenos po síti Akvizice zvuku ► A/D převodník, typicky zvuková karta v PC ale i jiná zařízení (mobilní telefon, PDA, MP3 přehrávač) ► Obvykle schopnost zpracování 2 (ale i více) audio kanálů ► Mikrofonní a linkový vstup (viz přednášky Ing. Šilera) ► Kvalita akvizice zvuku závisí nejvíce na parametrech použitého zařízení (vzorkovací frekvence, přesnost vnitřních hodin, odstup signálu od šumu apod.) Vzorkování ► V pravidelných intervalech změříme intenzitu vstupního analogového signálu ► Interval mezi jednotlivými vzorky nazýváme vzorkovací interval ► Informaci o průběhu signálu mezi jednotlivými diskrétními měřeními ztrácíme ► Abychom byli schopni zaznamenat a rekonstruovat vstupní signál s nejvyšší frekvencí f, je třeba vzorkovací frekvence alespoň 2f (Nyquistův teorém) ► Tj. pro nejvyšší slyšitelnou frekvenci 20 kHz potřebujeme vzorkovací frekvenci větší než 40 kHz ► Definovaný interval = vzorkovací frekvence ► Typické vzorkovací frekvence: ► 8 kHz - telefony ► 11 kHz - lidská řeč ► 22 kHz - kvalita odpovídající audiokazetě ► 44.1kHz - CD ► 48 kHz, 96 kHz, 192 kHz- DVD Vzorkování Odbočka k Nyquistovu teorému ► Nutná (ale ne postačující) podmínka pro to, abychom dokázali dobře rekonstruovat původní zvuk ► Vzorkovací frekvence musí být více než dvakrát větší, než nej větší frekvence vzorkovaného zvuku. ► Lidské ucho slyší frekvence maximálně 20 kHz z toho plyne dohodnutá vzorkovací frekvence 44.1 kHz ► Podvzorkované frekvence se „schovají" za jiné frekvence signál Kvantování ► Hodnoty, naměřené při vzorkování, reprezentujeme jako čísla omezené délky (reprezentované konečným počtem bitů) ► Pro lepší představu rozdělení svislé osy zvukové křivky na diskrétní hodnoty ► Naměřené hodnoty zaokrouhlujeme na nejbližší diskrétní hodnotu ► Vzniká kvantizační šum ► Počet bitů vyhrazených na reprezentaci intenzity vstupního signálu určuje kolik různých intenzit můžeme reprezentovat ► 1 bit odpovídá přibližně 6dB ► Typické reprezentace: ► 8 bitů na vzorek (256 úrovní) - telefon ► 16 bitů na vzorek (65 536 úrovní) - CD ► 24 bitů na vzorek (16 777 216 úrovní) - DVD ► 64 bitů na vzorek - použití v sonarech Chyby v kvantování ► Několik úrovní intenzity zvuku se reprezentuje jednou hodnotou = kvantovací šum ► Lze vylepšovat: ► Ditheringem ► Nelineárním kvantováním ► Ucho vnímá zvuk zhruba logaritmicky ► Zhuštění úrovní v oblasti, kde je to třeba. U zvuku je vhodné jemněji rozlišovat v oblasti nízkých kmitočtů, protože ucho je v této oblasti citlivější na šum. hodnota skutečná hodnota Příklad ► Vzorkujeme a kvantujeme analogový signál, jehož časový průběh je na diagramu ► Vzorkování je v diagramu naznačeno čárkovanými svislými čarami (okamžiky měření na časové ose) ► Pro reprezentaci intenzity signálu v každém vzorku používáme 3 bity 0 0.5 1 1.5 2 ' 0 0.002 O.004 0.006 0.008 0.01 0.012 time in seconds x time in seconds (a) 3 bit depth, 1 cycle (b) 3 bit depth, 6 cycles *0 0.5 1 1.5 2 50 0.5 1 1.5 2 time in seconds x ^ s lime in seconds (c) 3 bit depth, 22050Hz sample rate (d) 3 bit depth, 44100 Hz sample rate Mono, Stereo, Surround sound ► Člověk má dvě uši, mozek dostává dvě nezávislé informace o zvuku ze kterých na základě intenzity vnímaného zvuku vytváří zvukový prostorový vjem. 9WTfl Wim BTfrt .y l>Tť Kvt..r.-±.\, jyrn-rtH.wíi i.- ..t- ,,Wr r/ ► Monofónni zvuk = 1 kanál ► Prostorový zvuk ► Pro každý směrový zdroj zvuku nezávislý kanál ► Klasický stereofónni zvuk přicházející „zleva a zprava" jsou dva nezávislé audio kanály ► 5.1 prostorový zvuk je 6 nezávislých audio kanálů ► Každý nezávislý zvukový kanál je vzorkovaný a kvantovaný tak, jak jsme si ukazovali na předchozích slidech PCM ► Pulse Code Modulation ► Analogový signál —>• vzorkování —>• kvantování —>• PCM ► Datové toky: ► 8 kHz x 8b x 1 kanál = 64 kbps ► 44,1 kHzx 16 bx 2 kanály = 1411 kbps (cca. l,4Mbps) ► 44,1 kHzx 16 bx 6 kanálů = 4,233 kbps (cca. 4,2 Mbps) ► 192 kHz x 24b x 2 kanály = 9000 kbps (cca 9 Mbps) ► Použití: ► digitální telefonní linky, CD, DVD audio, DVD ► Běžně implementované v HW ► Zvukové karty, audio přehrávače, digitální záznamníky ► AD / DA převodník ► Závislost na externím hodinovém signálu Další formáty záznamu audia ► DPCM (Differential Pulse Code Modulation) ► Ztrátová komprese, používá 4 bity na záznam rozdílů mezi dvěma vzorky nezávisle na původním kvantování ► ADPCM (Adaptive Pulse Code Modulation) ► snaha o prediktivní analýzu potřebného počtu bitů pro záznam rozdílu mezi dvěma vzorky v závislosti na složitosti signálu ► ytz-law (A-law v Evropě) ► podobná komprese jako ADPCM, použití v digitální telekomunikaci (zejména Japonsko a USA), kvantování jednotlivých rozdílů odpovídá 13 bitům ► LPCM (Linear Predictive Coding) ► Až 8 kanálů pro audio; vzorkovací frekvence 48 kHz nebo 96 kHz; 16, 20 nebo 24 bitů na vzorek ► Maximální bitrate (datový tok) 6.144 MBps CD audio ► Red book audio standard (Philips a Sony v roce 1980) ► 2 audio kanály ► Vzorkovací frekvence 44.1kHz, 16 bitů na vzorek, PCM ► Bit rate = 44100 vzorků/s x 16 bitů/vzorek x 2 kanály = 172.2 kBps (více než 10 MB za minutu) ► Hodnoty jednotlivých vzorků jsou v rozmezí -32768 do +32767. ► Data nejsou ukládána sekvenčně, kombinovaná detekce a oprava chyb ► Pozn. pod čarou: ► Jakákoliv ochrana proti kopírování porušuje red book standard ► S nástupem MP3 se z red book CD stává poněkud obsoletní technologie DVD audio ► Ukládání vysoce věrného (hi-fi) zvukového obsahu na DVD média ► Srovnání s CD ► Větší kapacita nosiče, větší stopáž ► Mnohem větší kvalita záznamu, větší vzorkovací frekvence, více bitů na vzorek ► Mnoho možných konfigurací počtu audio kanálů (1.0 až 7.1) 16-, 20- or 24-bit 44.1 kHz 48 kHz 88.2 kHz 96 kHz 176.4 kHz 192 kHz Mono (1.0) Yes Yes Yes Ye 5 Yes Yes Stereo 12.0) Yes Yes Vfes Yes Yes Yes Quad (4.0) Ye5 Yes Yes Yes No No Surround (5.1) Yes Yes Yes Yes No No ► Záznam audia ve formátu LPCM ► Nekomprimované audio ► Většina DVD přehrávačů ale podporuje maximálně 16 bitů na vzorek při 48 kHz ► Maximální možný bitrate pro všechny kanály je 9.6 Mbps Mixování audia ► Směšování dvou zvukových vln fvww hms 0.0005 0.0010 0.0015 0.0020 0.0025 0.0030 0.0035 0.0040 0.0045 0.005 f| B A A \ / \ - j ma m Hli íl LlUláll Mixování audia ► Směšování dvou zvukových vstupů ►C=A+B ► Předpokládáme floating point PCM s hodnotami < —1,1 > Mixování audia - normalizace ► Smixované výstupní audio stále reprezentujeme jako floating point PCM s hodnotami < — 1,1 > ► Výstup je třeba normalizovat tak, aby výsledky byly vždy v tomto intervalu ► Clipping ► C = min(Cmax, max(Cmin, A + B)) Mixování audia - normalizace ► Lineární attenuace ► c = ^ ► Co když je jeden ze zdrojů potichu? ► Výstup je celkově utlumený. Mixování audia - normalizace ► Dynamická komprese rozsahu - lineární ► ^KA-2<^<2;relA0<ř ŕ s n E dB [- A j - -3 --6 / \ y B n _1 ÍK v ■1 n A =1 /- ■i ■ IB f— v n ► x = A+B, t = 0.6 ► Všechny amplitudy jsou v rozsahu, nízké a střední amplitudy jsou OK, vysoké amplitudy nejsou tolik utlumené jako v případě lineární komprese ^ Princip ztrátové komprese ► Obecný přístup ztrátové komprese je jednoduchý. Po úvodním předzpracování se přeskupí nebo transformují data tak, aby bylo možno lehce oddělit důležité informace od nedůležitých. Nedůležité informace se pak potlačí mnohem více (zahodí) než důležité a nakonec se výsledek zkomprimuje některým z bezeztrátových kompresních algoritmů. ► Transformace dat ► MDCT ► převede původní data do jiné domén, typicky z časové do frekvenční ► Potlačení části dat ► psychoakustický model, který určuje, jaká data mohou být potlačena nebo dokonce úplně odstraněna (nahrazena nulami) ► při kompresi zvuku se hledají frekvence, které člověk stejně nemůže vnímat a ty se zahodí MDCT ► Modifikovaná diskrétní kosinová transformace ► MDCT v každém z kanálů transformuje analogový signál na frekvenční koeficienty ► Výstupem MDCT je řada frekvenčních koeficientů —> bezztrátová transformace ► Koeficienty pro méně důležitá frekvenční pásma (na základě poznatků o vnímání zvuku) zahazujeme —>• princip ztrátového kódování zvuku MPEG-I Layer III ► Ztrátový kompresní mechanismus, ISO/IEC Standard v roce 1991, první rozšířená implementace Fraunhofer society v roce 1994. ► Komprimuje PCM audio v poměru přibližně 1:11 ► Použití psychoakustického modelu ► na základě znalostí o lidském sluchu zahazujeme ty části signálu, které lidské ucho hůře slyší, nebo neslyší vůbec ► na základě znalostí o zpracovávaném signálu (vážná hudba, metalový koncert apod.) vybíráme ta frekvenční pásma, která jsou nej podstatnější ► Komprese signálu: ► Komprese probíhá ve frekvenční doméně ► M DCT—^nelineární kvantování—^ H uffm a novo kódování PCMf-* Frekvenční filtry Kvantování, kódování Formátovaní proudu dat MP3 Psychoakustický model MPEG-I Layer III ► Dostupné bitraty: ► 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 a 320 kbps ► VBR - audio v MP3 je dělené do rámců, každý rámec může mít jiný bitrate ► Dostupné vzorkovací frekvence: ► 32, 44.1 a 48 kHz ► Mono, Stereo, Joint-stereo ► Člověk lépe pozičně lokalizuje zvuky s vyššími frekvencemi. Celá spodní část spektra se sloučí do jediného kanálu a navíc se uloží informace, jak prostorově posouvat zuky o určitých frekvencích. ► Typické parametry kódování: ► 44.1 kHz při 128 kbps se považuje za dobrý standard ► Slyšitelně lepších výsledků lze dosáhnout při 192 kbps (zhruba ideální bitrate pro MP3 kompresi) MPEG-I Layer III (CBR vs. VBR) ► CBR ► Pro každý komprimovaný časový segment původního signálu máme k dispozici stejný objem dat ► Objem dat dostupný pro kompresi signálu nemusí být efektivně využitý ► VBR ► Komprimovaný signál dělíme na časové segmenty a těm variabilně přiřazujeme bitrate na základě složitosti signálu ► Dva průchody Analýza složitosti signálu v jednotlivých časových segmentech ► Přiřazení bitrate každému segmentu na základě složitosti signálu a např. průměrného bitrate nebo cílového objemu dat ► Vyšší kvalita komprimovaného signálu při zachování stejného objemu dat ► VBR lze teoreticky provést i jednoprůchodově na základě koeficientu kvality q. Pak ale nelze kontrolovat objem dat nutný pro kompresi signálu. MPEG-I Layer III (dokončení) ► Podpora metadat v podobě ID3 tágu ► Omezení a problémy formátu MP3 ► Slyšitelné artefakty při nižších bitratech (ozvěny apod.) ► Maximální bitrate 320 kbps ► Licenční poplatky MPEG-I Layer II ► Ztrátový kompresní mechanismus navržený v roce 1991 ► DVD, DVB-T, interně v rádiích ► Sub-band kódování audia: ► Komprese probíhá v časové doméně ► Signál se rozdělí na 32 frekvenčních pásem, na základě psychoakustického modelu se některá zahodí a ostatní se komprimují samostatně. ► Dostupné bitraty: ► 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 a 384kbps ► 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144 a 160 kbps (navíc v MPEG-2 layer II) ► Dostupné vzorkovací frekvence: ► 32, 44.1 a 48 kHz ► 16, 22.05 a 24 kHz (navíc v MPEG-2 layer II) ► MP2 nedokáže využít podobnost signálu ne jednotlivých kanálech. Při méně než 256 kbps je méně účinná než MP3. Vorbis ► Opensource ztrátová komprese obvykle spojovaná s obálkovým formátem OGG. ► Kódování audia: ► Obdobné jako u MP3 ► Pokročilejší kvantování ► Redukce šumu na základě statistických měření ► Podle poslechových testů dosahuje lepších výsledků než MP3 při kódování na 128 kbps ► Typické parametry kódování: ► 44.1 kHz při 160 kbps se považuje za ideální nastavení ► Metadata „comments" obdobně jako u MP3 Srovnäni kvality komprese MPEG-I Layer 3 vs. Ogg Vorbis 5000Hz 7000Hz 9000Hz Spectrum ; Hamming window t ZT] Export Linear frequency ^| Close Referencm wav - 44 kHz, 16 b, stereo Srovnäni kvality komprese MPEG-I Layer 3 vs. Ogg Vorbis -5dB -12dB -15dB -lada -24dB -27dB -30dB -33dB -36dB -39dB -45dB -48dB -51dB -54dB -57dB -60dB -66dB -69dB -72dB -75dB -78dB -84dB -90dB 1000Hz 3000Hz 5000Hz 7000Hz 9000Hz 11000Hz 13000Hz 15000Hz 17000Hz 20000Hz Algorithm: Spectrum Function: Hanning window 512 [;] Export... Linear Frequency *| Close Ogg Vorbis - qlO cca. 427 kbps (Oggenc 1.0.2) Srovnäni kvality komprese MPEG-I Layer 3 vs. Ogg Vorbis -5dB -12dB -15dB -18dB -24dB -27dB -30dB -33da -36dB -39dB -4-5dB -48dB -51dB 54dB -57dB -60dB -66dB -69dB -72dB -75dB -78dB -84dB -90dB 1000Hz 3000Hz 5000Hz 7000Hz 9000Hz 11000Hz 13000Hz 15000Hz 17000Hz 20000Hz Algorithm: Spectrum ; Size: 512 Export.. Function: Hanning window t Axis: Linear frequency t Ogg Vorbis - q8 cca. 236 kbps (Oggenc 1.0.2) Srovnäni kvality komprese MPEG-I Layer 3 vs. Ogg Vorbis -5(IB -12dB -15dB -18dB -24dB -27dB -30dB -33dB -36dB -42dB -45dB -48dB -51dB -54dB -60dB -63dB -66dB -69dB -72dB -75dB -73dB -84dB -90dB lOOOHz 3000Hz 5000Hz 7000Hz 9000Hz 11000Hz 13000Hz 15000Hz 17000Hz 20000Hz Algorithm: Spectrum Size: 512 Export... Function: Hanning window Axis: Linear frequency Close Ogg Vorbis - q4 cca. 122 kbps (Oggenc 1.0.2) Srovnäni kvality komprese MPEG-I Layer 3 vs. Ogg Vorbis -5(IB -12dB -15dB -21dB -24dB -27dB -30dB -33dB -36dB -42dB -45dB -48dB -51dB -54dB -60dB -63dB -66dB -69dB -72dB -75dB -73dB -84dB -90dB lOOOHz 3000Hz 5000Hz 7000Hz 9000Hz 11000Hz 13000Hz 15000Hz 17000Hz 20000Hz Algorithm: Spectrum Size: 512 Export... Function: Hanning window Axis: Linear frequency Close Ogg Vorbis - qO cca. 56 kbps (Oggenc 1.0.2) Srovnäni kvality komprese MPEG-I Layer 3 vs. Ogg Vorbis 1000Hz 3000Hz 5000Hz 7000Hz 9000Hz 11000Hz 13000Hz 15000Hz 17000Hz 20000Hz Algorithm: Spectrum Size: 512 Export.. Function: Hanning window Axis: Linear frequency $ Close MPEG-I Layer 3 - studio quality = 256 kbps (Lame 3.95) Srovnäni kvality komprese MPEG-I Layer 3 vs. Ogg Vorbis -45dB -48dB -51dB -I -54dB -57dB -60dB -63dB -66dB -69dB -72dB-| -78dB -I -31dB -84dB -90dB lOOOHz 3000Hz 5000Hz 7000Hz 9000Hz 11000Hz 13000Hz 15000Hz 17000Hz 20000Hz Algorithm: Spectrum Size: 512 Export... Function: Hanning window Axis: Linear frequency Close MPEG-I Layer 3 - CD quality = 192 kbps (Lame 3.95) Srovnání kvality komprese MPEG-I Layer 3 vs. Ogg Vorbis -45dB -48dB -51dB -54dB -57dB -60dB-| -63dB -66dB -69dB -72dB -78dB -SldB -84dB -90dB lOOOHz 3000Hz 5000Hz 7000Hz 9000Hz 11000Hz 13000Hz 15000Hz 17000Hz 20000Hz Algorithm: Spectrum t Size: 512 Export.. Function: I Hanning window Axis: Linear frequency ^ Close MPEG-I Layer 3 - hifi quality = 160 kbps (Lame 3.95) Srovnäni kvality komprese MPEG-I Layer 3 vs. Ogg Vorbis -90dB lOOOHz 3000Hz 5000Hz 7000Hz 9000Hz 11000Hz 13000Hz 15000Hz 17000Hz 20000Hz Algorithm: Spectrum Size: 512 Export.. Function: Hanning window Axis: Linear frequency i Close MPEG-I Layer 3 - tape quality = 112 kbps (Lame 3.95) Srovnäni kvality komprese MPEG-I Layer 3 vs. Ogg Vorbis -6dB -12tlB -15dB -Lada -21dB -24dB -27dB -30dB -33dB -36dB -39dB -42dB -45dB -48dB -51dB -54dB -57dB -60dB -63dB -66dB -69dB -72dB -75dB -7SdB aids -S4dB -90dB lOOOHz 3000Hz 5000Hz 7000Hz 9000Hz 11000Hz 13000Hz 15000Hz 17000Hz 20000Hz Algorithm: Spectrum Function: Hanning window Size: Axis: 512 Export.. Linear frequency * C1°5a MPEG-I Layer 3 - voice quality = 56 kbps (Lame 3.95) AAC ► Standard pro ztrátovou kompresi skupiny MPEG (MPEG-4 part 3, MP4) ► Technologický nástupce formátu MP3 ► Spotify apod. ► Kódování audia: ► Silně využívá psychoakustické modely ► Eliminuje redundance v již zakódovaném signálu ► Implementuje samoopravné kódy ► Jinak funguje obdobně jako MPEG-1 Layer III ► Modulární přístup ke kódování audia" ► Existuje několik kódovacích profilů včetně Low latency ► V závislosti na volbě profilu lze dosáhnout při 96 kbps stejných výsledků jako u MP3 při 128 kbps ► Téměř libovolné vzorkovací frekvence 8 kHz až 96 kHz ► Podpora pro až 48 audio kanálů (MP3 podporuje 2) FLAC ► Opensource bezztrátový kompresní formát ► Vzorky jsou kódovány pouze s celočíselnou přesností. To ale na druhou stranu eliminuje chyby vzniklé zaokrouhlováním a umožňuje přesnou reprodukci. ► Libovolná vzorkovací frekvence ► Každý vzorek může být kvantován 4 až 32 bity ► Dosahuje kompresního poměru přibližně 20 až 30% ve srovnání s PCM Speex ► Opensource ztrátový formát určený pro kompresi řeči ► Samohlásky vyžadují vyšší bitrate ► Naopak sykavky, f apod. lze kódovat s nízkým bitratem ► Vzorkovací frekvence: 8 kHz (lze použít až s 48 kHz) ► Bitrate: CBR i VBR při 2 kbps až 44kbps ► Lze použít buď s obálkovým formátem ogg a nebo přímo přenášet po síti pomocí protokolu UDP nebo RTP ► VBR kódování vs. přenos po síti ► Robustní proti výpadkům způsobeným přenosem Opus ► Opensource ztrátový formát určený pro přenos digitalizovaného hlasu, videokonference, streamování hudby ► Nízkolatenční komprese zvuku, fixní latence 26.5ms ► Detekuje typ zvuku a míchá principy lineární predikce (nízký bitrate, SILK režim), modifikované diskrétní kosinové transformace (vysoký bitrate, CELT režim) a „hybridní režim", kdy řeč do frekvence 8 kHz je kódována LP, zatímco řeč nad 8 kHz je kódována pomocí MDCT. Video AH we see or seem is but a dream within a dream. E. A. Poe ► Pohyblivé obrázky ► Video je jen sekvence statických snímků zachycených a přehrávaných s konkrétní, stabilní frekvencí ► Temporální (časová) dimenze videa ► Video zachycuje scénu a v ní se pohybující objekty (ev. pohybující se celou scénu) ► Pohyb ve scéně je spojitý a je třeba jej diskretizovat ► Vzorkování dělením spojitého pohybu na sekvenci statických snímků ► Spaciální (prostorová) dimenze videa ► Jednotlivé statické snímky videa zachycují dvourozměrný, v čase statický obraz konkrétni scény a objektů v ní ► Statický obraz opět nese spojitou informaci ► Statický obraz dále diskretizujeme opět vzorkováním a kvantováním Vnímání pohyblivých obrázků ► Soustava oko a mozek není dokonalá úplně - naštěstí ► Obrazová paměť ► Člověk nevnímá obraz kontinuálně ale v „kvantech" ► Obrazový vjem jsme schopni zpracovat přibližně každých 60 ms ► Oko nevnímá všechny složky obrazu stejně ► Nejcitlivěji vnímáme jas obrazu ► Oko nevidí přirozeně zcela ostře ► Mozek má tendence si domýšlet části vjemu na základě zkušeností Snímková frekvence - Framerate ► Video (film) je sekvence statických snímků zachycených a zpět přehraných s danou snímkovou frekvencí, která má za úkol vyvolat dojem plynule pohybujících se objektů ► Vzorkování videa v temporální časové (dimenzi) ► Psychologická hranice pro udržení dojmu přirozeně se pohybujících objektů je 12 snímků za sekundu (frames per second, fps) ► Časování snímání u nejstarší techniky (a němých filmů) bylo zcela manuální (kameraman točil klikou a ručně posouval filmový pás, na kterém se exponovala jednotlivá políčka), průměrně 16fps ► Tradičních 24 fps u filmu vychází jako kompromis mezi cenou filmového materiálu a nemožností synchronizovat zvuk s obrazem při nízkých snímkových frekvencích ► S nástupem televize se snímková frekvence začala řídit frekvencí střídavého proudu (50 Hz resp 59.94 Hz) ► Odtud jsou odvozeny snímkové frekvence 25 fps resp. 29,97 (30) fps ► Dnes se běžně používá i 60 fps a více - věrnější vzorkování rychle se pohybujících objektů ve scéně Obraz ► Elektromagnetické vlnění s velmi úzkou šířkou spektra (viditelné světlo) odražené od objektů v okolí a dopadající na na světlocitlivě buňky sítnice oka ► V porovnání s jakoukoliv digitální technikou je v jistých oblastech oko spolu s mozkem velice dokonalá soustava (dynamický rozsah vidění, schopnost vyvážení bílé, rychlost ostření, noční vidění atd.) Vzorkování obrazu ► Obraz vzorkujeme ve dvou rozměrech konečně velkou maticí M x N bodů (pixelů) a obrazovou informaci (barvu) v každém bodě kvantujeme do K úrovní ► Vzorkování ► Vzorkování obrazu se řídí Shanonovou větou ► Nejmenší detail, který chceme zachytit, v digitálním obrazu musí být minimálně dvakrát větší než velikost vzorku ► Velikost vzorku je daná fyzickými rozměry zachycené scény a počtem pixelů v obou dimenzích Vzorkování obrazu RESOLUTION COMPARISON CHART 8K (7680x4320) 5 K (5120x2700) UH D 1 080p (1920*1080) 8K (8192x4320) 6K (6144X3160) 4K (4096x2160) 2K (2048x1080) ► Při daných rozměrech scény a zmenšujícím se rozlišení přicházíme o detaily v zachyceném obrazu ► Příklad: snímáme scénu o rozměrech 8x4,5 m ► 8K rozlišení —> 1 pixel zabírá plochu 1,04x1,04 mm ► HD rozlišení —> 1 pixel zabírá plochu 4,17mmx4,17mm ► SD rozlišení (analogová TV) —> 1 pixel zabírá plochu 1,04x0,78cm SDTV formáty ► Rodina standardů popisující rozlišení a framerate videa ► V digitálním světě: ► PAL: 720x576 obrazových bodů, 25fps ► NTSC: 720x480 obrazových bodů, 29.97fps ► VCD ► 352x288 obrazových bodů (PAL) ► 352x240 obrazových bodů (NTSC) ► S VCD ► 2.7x rozlišení VCD ► Nekonzistentní implementace rozlišení v přehrávačích HDTV formáty ► Notace ► Počet řádků v rozlišení ► Progresive frames (p) nebo interlaced fields (i) ► Počet snímků (frames) nebo polí (fields) za sekundu ► 1080p: 1920 x 1080 (30p, 29.97p, 24p, 23.976p) ► 1080i: 1920 x 1080 (30i, 29,97i) ► 720p: 1280 x 720 (60p, 59.94p, 30p, 29.97p, 24p, 23.976p) ► Větší rozlišení 2K, 4K, 8K S DT V vs. HDTV 720p I- 450 i/p. DV NTSC PAL 576i/p 480 576 720 1030 S DT V vs. HDTV 4K L tra 3040x2160 S ,294,200 Pixels 4K HDTV 1920 k 1080 2,073,600 Pixels 2K SDTV 72Ů x4ÖÜ 365,600 Pixels Kvantování obrazu ► Pro každý diskrétní vzorek obrazu (pixel) potřebujeme reprezentovat jeho barvu ► Barev ve viditelném spektru je opět spojitě mnoho ► Kvantujeme je do K úrovní. Otázka je kolik úrovní potřebujeme pro věrné zachycení barev. ► Abychom dokázali reprezentaci barev uchopit, používáme barevné modely ► Model RGB - barva se skládá ze tří složek Červená, Zelená, Modrá ► Model YUV - barva se skládá z jasové složky a dvou barevných složek ► Každou složku reprezentujeme typicky 8, 10 (HDR) nebo 12bity (HDR) ► Při 8 bitech na barevnou složku máme k dispozici (28)3 = 16.8/77/7. barev (může se to zdát hodně, ale nemusí to stačit) ► Při 10 bitech na barevnou složku máme k dispozici (210)3 = lmld. barev Barevné prostory ► RGB ► YUV ► Y - luminance (luma), jas ► U, V - chrominance Y = 0.299/? + 0.587 G + 0.1148 U = 0.147/? + 0.289G + 0.4368 = 0.492(8 - Y) Y = 0.615/? + 0.515G + 0.1008 = 0.877(/? - Y) ► YCrCb ► YUV + scale + offset Y = 0.299/? + 0.587 G + 0.1148 Cb = -0.168736/? - 0.331264G + 0.58 C = 0.5/? - 0.418688G - 0.0813128 ► Prakticky veškeré moderní kompresní mechanismy pro kompresi videa pracují s reprezentací YUV (kromě MJPEG) Vzorkování a kvantování obrazu Příklad spaciálního vzorkování obrazu 12x16 vzorky (pixely) a kvantování 8 bity (256 úrovněmi) v jednom barevném kanálu 12 x 16 x 8b = 1536b = 1928 \7Vt \7t lil I ► 192 B je velmi málo dat na reprezentaci obrazu ► Při vzorkování 12x16 má nejmenší detail, který jsme schopni v takovém obrazu zachytit jedním pixelem rozměry cca 4x4cm (viz Shanonova věta) ► Kvantování v jednom barevném kanálu 8 bity umožňuje reprezentovat pouze 256 úrovní jasu/odstínů šedé Vzorkování a kvantování obrazu ► 768 x 576 x S[b/pixel (greyscale)] = 3,456 kb = 3,375 Mb = 0,421 MB ► A pokud chceme pohyblivé obrázky, pak potřebujeme takových snímků n ► Např. tedy 25 fps, pak bude bitrate 86,400 kbps = 84,375 Mbps ► To je už tak velmi mnoho dat a navíc framerate nemusí stačit. Můžeme s tím něco udělat? Subsampling ► Rozlišení obrazu pří akvizici jej dělí na vzorky ► Typicky 768x576 bodů, 1920x1080 bodů apod, ► 4:2:2 ¥ Y , ■ ■ ■ 1 Lin< 1 O 1—c— p O 1-1-' o '-1-' p o '-1-' Liní ~ '— - O 1-1- ._1_. o 1-1-' ._1_. o '-1-' o '-1-' Line 3 ._1_. o 1-1-' ._1_. o 1-1-' ,_1_. o '-1-' o '-1-' Line 4 ._1_. o o _1_. o 4 o ► 4:2:0 ! Cr Únly V Y Line Lin< Line Line ! o e 1-1-' 1-1-■ o '-1-' 9 1-:—1 o '-1-' ° —T— o '-1-1 ikP ._1_. O . _ l_ _ ._1_. & 1—:—1 ._1_. o '-1-' é> —:—1 O '—i—' 1-:—1 e 1—|—1 --* o '-1-' 1— o '-1-' p 1—|—1 ._1_. o '-1-' 1—|—1 ._l_. O '-1-' —T— o 1—i—1 ._1_. c cP ._1_. o

• pouze I snímky ► Vhodné pro střih ► Malé zpoždění při kompresi videa - vhodné pro přenos po síti ► Často HW podpora (starší digitální fotoaparáty, levné USB videokamery) ► Obvykle nízká rozlišení (320x240, 640x480) ► 10, 12 nebo 15fps ► Kvalita obrazu odpovídá přibližně kvalitě ,,50" nastavené u JPEGu, bitrate maximálně 1 Mbps ► Obvykle ve spojení s obálkovým formátem AVI nebo MOV MPEG-1 ► Celá rodina standardů, part-2 definuje kompresi videa ► Podpora pouze progressive scan videa ► Návrh počítal s kompresí jakéhokoliv obrazu až po rozlišení 4095x4095 obrazových bodů ► Většina implementací dovolovala pouze 352x240 ► Maximální bitrate 1.5 Mbps ► VCD ► Kvalita má být srovnatelná s VHS. MPEG-1 ale vytváří řadu viditelných obrazových artefaktů. ► Rozlišení 352x240 bodů (PAL) při 1150 kbps MPEG-2 ► Part-2 rodiny standardů MPEG-2, zpětně kompatibilní s MPEG-1 ► Podporuje kódování interlaced videa ► MPEG-2 kódování není optimalizované pro bitrate nižší než 1 Mbps ► I, P a B snímky, GOP - Group Of Pictures je sekvence I, P a B snímků libovolné délky. Obvykle sekvence 15 snímků l_BB_P_BB_P_BB_P_BB_P_BB_. ► CBR i VBR pro jednotlivé GOP (např. změnou kvantování) ► Několik profilů rozdělených do úrovní Abbr. ---- Name Frames YUV Streams Comment SP Simple Profile P, 1 4:2:0 1 no interlacing MP Main Profile P, 1, B 4:2:0 1 422P 4:2:2 Profile P, 1. B 4:2:2 1 SNR SNR Profile P, 1. B 4:2:0 1-2 SNR: Signal to Noise Ratio SP Spatial Profile P. 1. B 4:2:0 1-3 low, normal and high quality decoding HP High Profile P. 1. B 4:2:2 1-3 Abbr. Name Pixel/line Lines Framerate (Hz) Bitrate (Mbitrs) LL Low Level 352 288 30 4 ML Main Level 720 57S 30 15 H-14 High 1440 1440 1152 30 60 HL High Level 1920 1152 30 80 MPEG-2 Profile @ Level Resolution (px) Framerate max. (Hz) Sampling Bitrate (Mbit/s) Example Application SP@LL 176 x 144 15 4:2:0 0.09G Wireless handsets SP@ML 352 x 2S8 15 4:2:0 0.384 PDAs 320 K 240 24 MP@LL 352 x 288 30 4:2:0 4 Set-top boxes (STB) MP@ML 720 X 480 30 4:2:0 15 (DVD: 9.8) DVD,SD-DVB 720 X 576 25 MP@H-14 1440 X 1080 30 4:2:0 60 (HDV: 25] HDV 12B0 X 720 30 MP@HL 1920 x 1080 30 4:2:0 80 ATSC 1080i, 720P60, HD-DVB (HDTV) 1280 K 720 60 422P@LL 4:2:2 422P@ML 720 X 480 30 4:2:2 50 Sony IMX using l-frame only, Broadcast "contribution" video (l&P only) 720 X 576 25 422P;áH-14 1440 x 1080 30 4:2:2 30 Potential future MPEG-2-based HD products from Sony and Panasonic 12B0 X 720 60 422P@HL 1920 X 1080 30 4:2:2 300 Potential future MPEG-2-based HD products from Panasonic 1280 x 720 60 ► Typické použití: ► DVD, DVB, HDV, HDTV Digital Video (DV) ► Komprese obdobná MPEG-2 kompresi ► Kompresní mechanismus není zatížený licenčními poplatky ► Použití ve spotřební elektronice (digitální kamery, některé DVD rekordéry apod.) ► Komprese: ► Intraframe komprese Vidce data Blocking Shuffling DCT Quantization VLC Compressed video data ► Makrobloky 8x8 obrazových bodů ► Shuffling zprůměruje množství obrazové informace v celém snímku promícháním makrobloků —>• celý snímek je komprimován stejně DCT - DC koeficienty (jas), AC koeficienty (barva) Kvantování - DC koeficienty se nemění, kvantují se pouze AC koeficienty Huffmanovo kódování Pevný datový tok 25 M bps (pro představu cca. 3.2 M Bps) ► ► ► ► Co je MPEG-4 ► Celá rodina různých standardů ► ISO 14496-1 (Systems), Animace/lnteraktivita (DVD menu) ► ISO 14496-2 (Video), např.: Advanced Simple Profile (ASP), tj. implementace jako XviD, DivX5, 3ivx... ► ISO 14496-3 (Audio), Advanced Audio Coding (AAC) ► ISO 14496-10 (Video), Advanced Video Coding (AVC), také známé jako H.264 ► ISO 14496-14 (Container), MP4 obálkový formt (přípona .mp4) ► ISO 14496-17 (Subtitles), MPEG-4 formát pro titulky a jejich časování ► Ne vše ze standardu MPEG-4 musí být nutně implementované MPEG-4 part 2 ASP profile ► Navržený pro rekompresi a zálohování MPEG-2 videa z DVD ► Rozlišení až do velikosti PAL při 30fps ► Generuje l,P i B frames ► Global Motion Compensation ► Pro velké pohyby společné dvěma snímkům se použije pouze jeden Motion vector ► Custom quantization, Adaptive quantization ► h.263 matice - vhodná pro nižší bitraty, rozmazaný obaz ► MPEG matice - vhodná pro vyšší bitraty ► VBR lze nastavovat pro každý snímek ► Kodeky: ► XviD, DivX5, DivX4/OpenDivX, ffmpeg MPEG4, Nero Digital a mnoho dalších ► DivX3.11 (MS MPEG-4), RV9, VP6 and WMV9 nejsou zcela MPEG-4 kompatibilní ► HW implementace - certifikace ,,DivX" MPEG-4/AVC (H.264) ► Vychází z MPEG-4, návrh z roku 2003 ► Kouzla H.264 ► CAVLC (Context-Adaptive Variable Length Coding) ► CABAC (Context-Adaptive Binary Arithmetic Coding) ► Nástroje pro kódování proudu (makrobloky + motion vektory + reference...) ► CABAC dokáže uspořit 10-15% dat v porovnání s CAVLC, ale je to pomalá metoda ► Obě metody jsou bezztrátové ► Deblocking filter - po zakódování každého snímku (ale dříve než je snímek použit jako referenční) eliminuje blokování obrazu ► Proměnná velikost makrobloku - cokoliv mezi 16x16 a 4x4 obrazových bodů ► Dovoluje více referenčních snímků pro aktuální snímek při motion estimation MPEG-4/AVC (H.264) ► Baseline Profile: l/P-Frames, progresivní scan, CAVLC ► Extended Profile: l/P/B/SP/SI-Frames, progresivní scan, CAVLC ► Main Profile: l/P/B-Frames, progresivní a interlaced scan, CAVLC nebo CABAC ► High Profile: navíc k Main Profile: 8x8 makrobloky, uživatelsky nastavitelné kvantování, bezztrátová komprese, více vzorkovacích schémat na vstupu (4:4:4...) High Efficiency Video Coding (HEVC/H.265) ► MPEG-H Part 2 - technologický nástupce MPEG-4/AVC (H.264), Duben 2013 ► Dvojnásobný kompresní poměr oproti MPEG-4/AVC (H.264) při zachování kvality ► Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand: Overview of the High Efficiency Video Coding (HEVC) Standard, IEEE Transactions on Circuits and Systems for Video Technology, vol. 22, no. 12, December 2012, http: //iphome.hhi.de/wiegand/assets/pdfs/2012_12_IEEE-HEVC-0verview.pdf High Efficiency Video Coding (HEVC/H.265) ► Proc je HEVC o tolik efektivnejsf? H.26S H.264 Same qua tity of video data, the H.265 can save70~8O% bandwidth sources. Bandwidth Consumption H K5-- WGHEJ-FKKMPTYIHO WOfl* Bandwidth Consumption I n?^* Liiaiiinin f ■■■■ d. 4 'Tr* "Finatr^HEi' riau ■ami JKt.dlv 1 Jllil mil mill!" jiiiii .«■■■■■ 11 Ml LIBBVk ---------- H.265 can transfer the high quality uideodata(720p) at half of the bandwidth, so you can enjoy the4K*2K video even at a low-internet -speed environmental ~2Mbs), High Efficiency Video Coding (HEVC/H.265) ► Podpora paralelního zpracování - frame paralelismus a wavefront tile paralel r l_ 110 112 114 M -102 r 118 120 122 T 124* í x—1 b f J -104 Ť ~*126 — — 128 PS -li 130 U---• 7 132^ " I -106 *134 L.J -108 "1 150 152 154 156 158 *l 160 < □ ► < if? ► < = * < High Efficiency Video Coding (HEVC/H.265) ► Profily ► Main, Main 10 a Main Still Picture Feature Version 1 Range extensions Main Main 10 Main 12 Main 4:2:2 10 Main 4:2:2 12 Main 4:4:4 10 Main 4:4:4 12 Bit depth 8 8 to 10 8 to 12 8 to 10 8 to 12 8 to 10 8 to 12 Chroma sampling formats 4:2:0 4:2:0 4:2:0 4:2:0/4:2:2 4:2:0/4:2:2 4:2:0/4:2:2/4:4:4 4:2:0/4:2:2/4:4:4 4:0:0 (Monochrome) No No Yes Yes Yes Yes Yes High precision weighted prediction No No Yes Yes Yes Yes Yes MinCR reduced to half its base value No No No Yes Yes Yes Yes Inter color component prediction No No No No No Yes Yes Intra block copy No No No No No Yes Yes Intra smoothing disabling No No No No No Yes Yes Residual DPCM inter/intra No No No No No Yes Yes Transform skip block sizes larger than 4X4 No No No No No Yes Yes Transform skip context/rotation No No No No No Yes Yes Extended precision processing No No No No No No No Separate color plane No No No High Efficiency Video Coding (HEVC/H.265) iroká škála úrovní Level Max bit rate for Main, Main 10, Max luma sample rate Max luma picture size and Main 12 profiles (kbit/s)^ Example picture resolution @ highest frame rate^-1 (MaxDpbSize[cb Main tier High tier Click here to hide/show additional examples 1 552.960 36,864 128 - 128X96(333.7 [6) 176X144(315.0 [6) 2 3,686,400 122,880 1,500 - 176X144[3100.0 (16) 352X288@30.0 [6) 2.1 7,372,800 245,760 3,000 - 352X288@60.0 112) 640X360(330.0 [6) 3 16,583,800 552,960 6,000 - 640X360(367.5 (12) 720X576(337.5 [8) S60X540@30.0 [6) 3.1 33,177,600 983,040 10,000 - 720X576(375.0 (12) 960X540(360.0 [8) 1280X720(333.7 (6) 1 66,846,720 2,228,224 12,000 30,000 1.280X720@68.0 (12) 1,920X1,080(332.0 [6) 2,048X1,080(330.0 [6) 4.1 133,693,440 20,000 50,000 1,280X720(3136.0 (12) 1,920X1,080(364.0 (6) 2,048X1,080(360.0 [6) 5 267,386,880 8,912,896 25.000 100.000 1,920X1,0B0@128.0 (16) 3,840X2,160(332.0 [6) 4,096X2,160(330.0 [6) 5.1 534,773,760 40,000 160,000 1,920X1,080(3256.0 (16) 3,840X2,160(364.0 [6) 4,096X2,160(360.0 (6) 5.2 1,069,547,520 60,000 240,000 1,920X1,080(3300.0 (16) 3,840X2,160® 128.0 [6) 4,096X2,160® 120.0 [6) 6 1.069.547.520 35,651,584 60.000 240,000 3,840X2,160(3128.0 (16) 7,680X4,320@32.0 (6) 8,192X4,320(330.0 [6) 6.1 2.139,095,040 120.000 480,000 3,840X2,160(3256.0 (16) 7,680X4,320(364.0 [6) 8,192X4,320®60.0 [6) 6.2 4,278,190,080 240,000 800,000 3,840X2,160@300.0 (16) 7,680X4,320® 128.0 [6) 8,192X4,320® 120.0 (6) Theora ► Jeden z nejmladších kompresních mechanismů z léta 2004 ► Opensource návrh i implementace ► Přímá konkurence pro MPEG-4 kompresní mechanismy ► Vlastnosti: ► Ztrátová komprese ► Makrobloky 8x8 obrazových bodů ► Podpora pro vzorkování 4:2:0, 4:2:2, a 4:4:4 (MPEG-4 ASP podporuje pouze 4:2:0) ► Podpora motion compensation jen na úrovni jednotlivých bloků ► Podpora VBR kódování ► Obsahuje pouze I a P frames ► Dovoluje více referenčních snímků pro aktuální snímek při motion estimation Standard SMPTE implementovaný Microsoftem jako Windows Media Video 9, alternativa ke klasickým DCT based MPEG kodekům Simple, Main a Advanced profile Podpora kódování interlaced videa bez nutnosti převodu do progressive režimu Simple Main Advanced Baseline intra frame compression Yes Yes yes Variable-sized transform Yes Yes yes 16-bit transform Yes Yes Yes Overlapped transform Yes Yes Yes 4 motion vector per macroblock Yes \es Yes % pixel luminance motion compensation Yes Yes Yes % pixel chrominance motion compensation No Yes Yes Start codes No Yes Yes Extended motion vectors No Yes Yes Loop filter No Yes Yes Dynamic resolution change No Yes Yes Adaptive macroblock quantisation No Yes Yes B frames No res Yes Intensity compensation No Yes Yes Range adjustment No Yes Yes Field and frame coding modes No No Yes GOP Layer No No Yes Display metadata No No Yes Simple Main Advanced Profile Level Maximum Bit Rate Resolutions by Framerate Simple Low 96 kbitŕs 176 X 144/15 CQCIF) Medium 384 kbitVs 240 x 175 / 30 352 X 288 / 15 (CIF) Main Low 2 Mbit/s 320 x 24-0 / 24 [QVGA) Medium 10 Mbit/5 720 x 480 / 30 [480p) 720 x 576 / 25(576p) High 20 Mbit/s 1920 x 1080 / 30 (1080p) Advanced LO 2 Mbit/5 352 X 288 / 30 (CIF) LI 10 Mbit/5 720 x 480 / 30 [NTSC-SD) 720 X 576 / 25 (PAL-SD) L2 20 Mbit/5 720 x 480 / 60 [480p) 1280 X 720 / 30 (720p) L3 45 Mbit/5 1920 x 1080 / 24 (1080p) 1920 X 1080 / 30 (1080i) 1280 x 720 / 60 (720p) L4 135 Mbit/5 1920 X 1080 / 60 (1080p) 2048 x 1536 / 24 I = ► Snow ► Expedimentální waveletová komprese ► Výborná kvalita obrazu při nízkých bitratech v porovnání s klasickými kodeky ► Analogový signál se reprezentuje pomocí oscilujcí vlny konečné délky ► Obecně vhodnjší pro reprezentaci obrazu s vysokofrekvenčními složkami (extrémní příklad: hvězdy na noční obloze) ► Vysokofrekvenčí složky lze reprezentovat menším množstvím dat než v případě DCT transformace ► Další wavelet compression based kodeky: Tarkin (Ogg), Dirac (BBC), Pixlet (Apple) Parametry kódování ► Závislé na mnoho faktorech ► Objem komprimovaných dat (rozlišení x reprezentace barevného prostoru x framerate) vs. bitrate pro kodek ► Lze zmenšit rozlišení ► Obvykle nelze zmenšit framerate ► Zmenšení rozlišení = větší kvalita obrazu při stejném bitrate. Ale horší kvalita reprodukce ^— video obvykle zobrazujeme na obrazovce s větším rozlišením. Je nutné škálovat obraz —> horší kvalita obrazu. ► Bitrate je obvykle daný kapacitou média <— 600 - 1000 kbps pro film (1-2 hodiny) ukládaný na CD. ► Nastavení poměru l,P a B frames a GOP ► Problémy s přehráváním ► Neúčinné VBR u MPEG-2 Srovnäni kompresnich mechanismü/kodekü Standards (Profiles) Non Std Features MPEG-1 MPEG-2 MPEG-4 ASP MPEG-4 AVCMain MPEG-4 AVCHigh VC-1 Ogg Theora SNOW B-Frames y y y y y y Slices Error Resilience y y y y y y Interlace (PAFF/MBAFF) y y y y y Entropy Encoding Huffman Huffman Huffman EHp-Golomb or Adaptive Arithmetic EKp-Qolomb or Adaptive Arithmetic Huffman and Bitplane Adaptive Huffman Adaptive Range Motion Block Size IGhIG 1Gk1G ISkIS/SkS 1Gk1G/1GkS 8hS/8k4/4k4 1Sh1S/16h8 8hS/8h4/4h4 16h16/8h8 Sh4 or 4k4 16h16/8h8 32h32/16h1S or SkS Motion Search Precision One Finel or Half Rwel Half Rnel Half Rnel or Quarter FiHel Quarter FiHel Quarter FiHel Half Finel or Quarter Rwel Half Rnel Half Rnel or Quarter Rwel OBMC y GMC (Global Motion Compensation] y Intra Prediction DC SkS DC SkS AC SkS Spatial 16h16/4h4 Spatial 16h16/8h8 or 4k4 AC SkS DC SkS DC 32h32/16h16 or SkS Spatial Transform DCT SkS DCT SkS DCT SkS HCT 4k4 HCT 8h8/4h4 8h8/8h4/4h4 DCT SkS Wavelet 13/7, 9/7 or 5/3 Bit Exact Decoding y y y y y Lossless Mode y y Custom Quantizer Matrix y y y y y ln-loop Deblocking Filter y y y y H/A Multiple Reference Frames y y 2 MaK Weighted Prediction y y pp Hnln Srovnání kompresních mechanismů/kodeků ► doom9.org annual codecs shootouts ► MSU Video Group - http://www.compression.ru/video/ ► Bitrate handling ► Výkon kodeku při kompresi (fps) ► Kvalita kódování (závisí i na kvalitě implementace kodeku) ► Objektivní PSNR metriky ► Peek signál to noise raio ► Poměr mezi maximální možnou sílou signálu a sílou šumu vzniklého kompresí ► Subjektivní vizuální hodnocení ► Výsledky obou metod nemusí korelovat ► http://www.compression.ru/video/codec_comparison/pdf/ MSU_MPEG4_Comparison_eng.pdf ► http://www.doom9.org/index.html?/codecs-quali-105-l.htm ► http://www.doom9.org/index.html?/codecs-main-105-l.htm Obálkové formáty ► AVI ► Audio Video Interleave ► Obálkový formát MS z roku 1992 ► FourCC identifikace kodeku ► AVI vs. AVI 2.0 ► Více audio a video stop ► Podpora pro stopy větší než 2 GB ► Dnes poněkud obsoletní, ale stále velmi používaný ► Nepodporuje titulky a moderní kodeky (Vorbis apod.) ► Existují různé hacky nekompatibilní s většinou přehrávačů ► MOV ► Obálkový formát pro QuickTime ► Jedna nebo vice stop pro audio, video, efekty nebo text (titulky) ► Quictime reference - odkaz např. na video, které je uložené kdekoliv jinde na disku nebo na síti ► Vhodné pro střih Obálkové formáty ► OggMedia ► Nezaměňovat s Ogg - formát proudu dat pro uložení audia nebo videa komprimovaného kodeky Vorbis, Theora apod. ► OggMedia rezšiuje možnosti formátu Ogg ► Podpora kapitol ► Více stop s titulky ► Více audio stop různých formátů (MP3, AC3, Vorbis, WAV) ► Matroska ► Opensource návrh obálkového formátu, vystavěný na binárním ekvivalentu XML (EBML) ► Rychlé procházení audiem nebo videem (seek) ► Implementuje menu jako u DVD ► Podpora pro streaming Obálkové formáty ► MPEG-4 (MP4) ► Vychází z obálkového formátu Apple Quicktime ► Audio, video plus MPEG-4 titulky ► Pomoci tzv. private stream lze do obálky MP4 vložit téměř jakákoliv data (např. vobsub titulky apod) ► DivX6 ► Interaktivní menu ► Více stop s titulky ► Více audio stop ► Kapitoly ► Další textová metadata ► Podpora různých audio a video formátů ► a další... Multimédia v sítích ► Proč multimédia a datové sítě? ► Dobrý zdroj dat, relativně velké objemy, specifické nároky na samotný přenos ► Aplikace multimediálních přenosů ► Streaming ► Videokonference ► aplikace požadující zcela konkrétní vlastnosti přenosu multimediálních dat (např. end-to-end zpoždění) ► požadavky na přenos zásadně ovlivňují možnosti zpracování multimediálních dat Parametry kódování videa pro přenos sítí ► Objem komprimovaných dat (rozlišení x reprezentace barevného prostoru x framerate) vs. kapacita sítě vs. rychlost kódování multimediálního streamu vs. nároky na zpoždění přenosu ► Typicky malý bitrate (řádově max. jednotky Mbps), ačkoliv pro kvalitní přenosy se používá bitrate v řádu desítek i stovek Mbps ► Lze snížit rozlišení ► Lze snížit framerate - u videokonferencí není framerate tolik podstatný ► Problematické použití VBR ► Nemá smysl používat B frames, opatrně např. i s délkou GOP Protokoly na transportní vrstve - TCP ► Stavový protokol na transportní vrstvě ISO/OSI modelu ► Vlastnosti významné pro multimediální přenosy ► Bezchybný přenos ► Retransmise ztracených paketů ► Pakety vždy dorazí ve správném pořadí ► Kontrola zahlcení linky ► Férový protokol ► Nevýhody TCP pro multimediální přenosy ► Bezchybnost přenosu je na úkor nízké latence ► Férovost nedovoluje dostatečnou šířku pásma na vytížených linkách Protokoly na transportní vrstvě - UDP ► Bezstavový protokol na transportní vrstvě ISO/OSI modelu ► Nespolehlivý protokol ► Pakety mohou přicházet mimo původní pořadí ► Pakety se mohou ztratit bez jakéhokoliv upozornění ► Ale odpadá režie s ověřováním, ze každý paket dorazil v pořádku a hlavně s retransmisemi ► V porovnání s TCP minimalistický, efektivnější a rychlejší ► UDP prakticky nezvyšuje latenci při přenosu multimediálních dat ► Multimediální aplikace využívají v drtivé většině případů protokol UDP pro přenos dat (až na speciální případy) Protokoly na transportní vrstvě ► RTP ► Real-Time Transport Protocol ► Postavený nad protokolem UDP ► Klíčové vlastnosti ► Identifikace obsahu ► Sekvenční číslování paketů ► Časové značky pro jednotlivé pakety ► Protokol sám od sebe nezaručuje kvalitu přenosu, pouze poskytuje prostředky pro zaručení kvality aplikacím ► RTCP ► RTP Control Protocol (RTCP) ► Real time control protocol doplňuje protokol RTP ► Poskytuje out-of-band informace pro řízení proudu dat přenášeného pomocí RTP ► RTCP poskytuje aplikaci zpětnou vazbu na kvalitu přenosu pomocí protokolu RTP Protokoly pro přenos multimediálního obsahu ► RTSP ► Real-time Streaming Protocol ► Stavový protokol založený na HTTP požadavcích (GET apod.) ► Ovládání streaming serveru (VCR příkazy jako Play, Pause a Stop) a přístup k souborům podle času ► Pro přenos dat se používá protokol RTP + RTCP případně jeho proprietami obdoba RDT ► ► MMS ► Microsoft Media Services nebo také Netshow services ► Proprietami protokol pro streaming ► Pro přenos dat se používají protokoly UDP nebo i TCP pokud se nezdaří vyjednat spojení na protokolu UDP ► Jako poslední z možností je "streaming" pomocí upraveného protokolu HTTP (tedy opět nad protokolem TCP) Chybovost přenosu a oprava chyb ► Nutnější hlavně u zvuku, používá se samozřejmě i u přenosu obrazu ► Buffery ► Forward Error Correction (FEC) ► XORování ► posílání druhého proudu (v nižší kvalitě) ► prokládání (interleaving) ► oprava chyb na straně klienta ► nahrazení daty z předchozího paketu ► interpolace Posílání druhého proudu 1 2 3 4 1 síť 1 1 2 2 3 3 4 1 2 výpadek 3 4 1 I nterleavmg 5 6 7 8 9 10 11 12 13 14 15 16 1 5 Síť 9 13 2 6 10 14 3 7 11 15 4 8 12 16 r 4 8 12 16 1 5 9 13 2 6 10 14 výpadek 1 2 4 5 6 8 9 10 12 13 14 16 □ Point-to-point vs. multipoint ► Point-to-point ► Multipoint ► 1:N ► Rozšíření point-to-point schématu ► Streaming - VOD ► Streaming - push schéma ► Multimediální stream se může šířit sítí v mnoha kopiích a zahlcovat ji ► M:N ► Typicky video konference ► Problémy šíření multimediálních streamů ► Firewally ► Nat Unicast Multicast ► Efektivní schéma pro posílání multimediálních dat ► Routery vytvářejí optimální strom cest po kterých se šíří multimediální data ► Postavený na protokolu UDP (nad TCP nemá smysl, TCP vytváří spojení mezi dvěma konkrétními uzly) ► Relativně nespolehlivé schéma ► Multicast se v nešíří napříč všemi sítěmi ► Bezpečnostní rizika Multicast Zrcadla, Content Delivery Networks ► SW který přijímá multimediální streamy od jednotlivých klientů a přeposílá je ostatním připojeným klientům ► Vytváří překryvovou síť, která emuluje multicast v síti, kde se multicast nešíří ► Neřeší problém redundance multimediálních streamů na jednotlivých linkách ► Možná schémata použití - 1:N, M:N Videokonference vs. Streaming ► Streaming ► Způsob doručení multimediálního obsahu klientům prostřednictvím sítě ► Přidaná hodnota porovnání s prostým stažením multimediálního obsahu ► Live streaming ► Doručování multimediálního obsahu, který vzniká živě během streamování ► Video on Demand vs. pasivní příjem ► Pasivní příjem se obvykle používá pro příjem živých streamů ► Je samozřejmě možné streamovat i multimediální archivy ► Video a audio nelze kódovat libovolně. ► Videokonference (přenosy s nízkým zpožděním) ► Jednoznačný požadavek na interaktivitu ► V porovnání se streamingem přináší další omezující požadavky na zpracování videa a audia. Videokonference vs. Streaming ► Streaming ► Díky jednosmernosti provozu můžeme data bufferovat ► Latence při přenosu vznikající při kompresi videa není problém ► Latence vznikající přenosem v síti a její rozptyl také není podstatná - lze řešit bufferem ► Videokonference (přenosy s nízkým zpožděním) ► Při přenosu nelze používat buffery ani na straně odesílajícího ani na straně příjemce -vyžadujeme interaktivitu a tedy nízké latence ► Potřeba využívat kodeky s nízkou latencí ► Latence a její rozptyl při přenosu sítí je také velmi problematická Streaming Web browser media player HTTP GET presentation desc. SETUP PLAY media stream PAUSE TEARDOWN Web server media server client server □ Formáty Vhodné pro streaming ► Kompresní mechanismy ► Nejsme limitování nutností udržet nízkou end-to-end latenci —>• z tohoto hlediska lze použít prakticky libovolný kodek ► Komprese musí být realtime což diskvalifikuje zejména vaweletovou kompresi ale i některé pokročilé MPEG profily ► Obvykle pouze CBR kódování - u VBR nejsme dobře schopni předvídat, zda nepřekročíme bitrate daný dostupným pásmem ► Audio - MP3, Vorbis, AAC nebo Opus ► Video - H.264, HEVC, VP8 nebo VP9 ► Obálkové formáty ► Zapouzdření více proudů videa a audia ► Metadata ► Podpora pro zotavení z chyb způsobených přenosem ► Adaptace na změny parametrů přenosových linek ► MP4, FLV, WebM nebo ASF Flash video ► Obvykle varianta H.263, případně MJPEG, MPEG4 AVC ► Audio ve formátu PCM, ADPCM nebo MP3, AAC ► Široká podpora v přehrávačích napříč platformami (nejen Macromedia Flash player) ► Streaming pomocí proprietárního Real Time Messaging Protocol (RTMP) protokolu od Adobe a Flash Media serveru ► Progressive download ► Přenos protokolem HTTP —> neblokované firewally ► Libovolný přístup k videu ^— není nutné přehrávat sekvenčně ► Buffer na straně klienta ► Neporadí si s kolísající šířkou pásma a s nižší šířkou pásma než je bitrate videa AS F ► Advanced Systems Formát, dříve Advanced Streaming Formát ► Proprietami obálkový formát Microsoftu, podpora streamování ► Podpora pro přehrávání obsahu ze streaming serveru, HTTP serveru nebo z lokálního disku ► Specifikuje strukturu pro ukládání audia a videa a přístup k jednotlivým multimediálním proudům ► Nespecifikuje konkrétní formáty pro kódování audia nebo videa, ale obvykle se používá spolu s Windows Media Video resp. Windows Media Audio ► Implementuje techniky pro korekci chyb vzniklých během přenosu ► Podpora DRM (pouze ve spojení s WMW nebo WMA) Streaming na síti ► Základní přenos RTP + RTCP a RTSP ► Real Time Messaging Protocol - RTMP ► Apple HTTP Live Streaming - HLS ► Dynamic Adaptive Streaming over HTTP - MPEG-DASH ► Posun klientů od samostatných aplikací k webovému prohlížeči ► Podpora v HTML5 Real Time Messaging Protocol ► Proprietami protokol Macromedia/Adobe ► TCP přenos dat (včetně šifrování a enkapsulace do HTTP požadavků) ► Fragmentace dat - 64B pro audio, 128B pro video ► V rámci RTMP sezení několik nezávislých kanálů pro přenos RPC, audia, videa apod.) ► Není podpora v HTML5, pouze Adobe Flash Apple HTTP Live Streaming ► Všechny dotazy a přenos multimediálních dat probíhají nad protokolem HTTP ► Možnost přizpůsobení datového toku aktuální propustnosti sítě ► Videa (H.264 video a MP3, AAC nebo AC-3 audio) se zakódují do MPEG-TS transportu, který je určen pro přenos multimediálních dat ► Každé takové video se následně rozdělí na malé segmenty, které umožňují například posouvání ve videu bez nutnosti čekání na stažení celého videa ► Adaptivní bitrate ► Klient si dle vlastního uvážení stahuje segmenty a skládá z nich původní média ► Přímá podpora v HTML5 Dynamic Adaptive Streaming over HTTP ► Adaptivní technologie ► Média jsou rozdělena na rámce ► Přenos pomocí HTTP ► Technologie agnostická vůči zpracování audia/videa ► MPEG4 nebo MPEG-TS kontejner ► Není přímo podporovaný v HTML5, ale existují knihovny v JS