Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO

Podobné dokumenty
Komprese dat Obsah. Komprese videa. Radim Farana. Podklady pro výuku. Komprese videa a zvuku. Komprese MPEG. Komprese MP3.

Rastrová grafika. Grafický objekt je zaznamenán jednotlivými souřadnicemi bodů v mřížce. pixel ( picture element ) s definovanou barvou

Datové formáty videa a jejich využití. Tomáš Kvapil, Filip Le Manažerská informatika Multimédia

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

Počítačová grafika SZŠ A VOŠZ MERHAUTOVA 15, BRNO

III/ 2 Inovace a zkvalitnění výuky prostřednictvím ICT

VYUŽITÍ POČÍTAČOVÉ GRAFIKY

Kosinová transformace 36ACS

Počítačová grafika a vizualizace I

Obraz jako data. Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno. prezentace je součástí projektu FRVŠ č.2487/2011

Rastrový obraz, grafické formáty

VIDEO DATOVÉ FORMÁTY, JEJICH SPECIFIKACE A MOŽNOSTI VYUŽITÍ SMOLOVÁ BÁRA

POČÍTAČOVÁ GRAFIKA. Lenka Bednaříková

Co je počítačová grafika


Reprodukce obrazových předloh

1. ZÁKLADNÍ POJMY POČÍTAČOVÉ GRAFIKY

Počítačová grafika a vizualizace volné 3D modelování. Maxon CINEMA 4D. Mgr. David Frýbert, 2012

Algoritmy komprese dat

Konverze grafických rastrových formátů

Rastrová grafika. body uspořádané do pravidelné matice

DATOVÉ FORMÁTY GRAFIKY, JEJICH SPECIFIKA A MOŽNOSTI VYUŽITÍ

Kompresní algoritmy grafiky. Jan Janoušek F11125

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Úvod do počítačové grafiky

13 Barvy a úpravy rastrového

Základy informatiky. 10 Počítačová grafika

Práce na počítači. Bc. Veronika Tomsová

Počítačová grafika. OBSAH Grafické formy: Vektorová grafika Bitmapová (rastrová grafika) Barevné modely

Rastrové grafické formáty. Václav Krajíček KSVI MFF UK, 2007

Video. Co je to video. Vlastnosti videa. Frame rate. Prokládání

Formáty obrazu. David Bařina. 22. března David Bařina Formáty obrazu 22. března / 49

Digitální magnetický záznam obrazového signálu

Téma: Barevné modely, formáty souborů

POČÍTAČOVÁ GRAFIKA. Počítačová grafika 1

25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE

Zdroj:

Multimediální systémy. 03 Počítačová 2d grafika

Kde se používá počítačová grafika

Obrazovkový monitor. Antonín Daněk. semestrální práce předmětu Elektrotechnika pro informatiky. Téma č. 7: princip, blokově základní obvody

Webové stránky. 6. Grafické formáty pro web. Datum vytvoření: str ánk y. Vytvořil: Petr Lerch.

Grafika na počítači. Bc. Veronika Tomsová

Moderní multimediální elektronika (U3V)

On-line škola mladých autorů , pořadatel: ČVUT FEL. Jak na obrázky? Martin Žáček

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VY_32_INOVACE_INF.10. Grafika v IT

Práce s obrazovým materiálem CENTRUM MEDIÁLNÍHO VZDĚLÁVÁNÍ. Akreditované středisko dalšího vzdělávání pedagogických pracovníků

ZPRACOVÁNÍ OBRAZU přednáška 4

Multimediální systémy. 10 Komprese videa, formáty

BPC2E_C09 Model komunikačního systému v Matlabu

Barvy na počítači a grafické formáty

KOMPRESE OBRAZŮ. Václav Hlaváč, Jan Kybic. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání.

Využití ICT techniky především v uměleckém vzdělávání. Akademie - VOŠ, Gymn. a SOŠUP Světlá nad Sázavou

DIGITÁLNÍ FOTOGRAFIE

Informační systémy ve zdravotnictví

DIGITÁLNÍ VIDEO. pokus o poodhalení jeho neskutečné obludnosti (bez jednosměrné jízdenky do blázince)

Omezení barevného prostoru

Digitální učební materiál

Algoritmizace prostorových úloh

GRAFICKÉ FORMÁTY V BITMAPOVÉ GRAFICE

Barvy a barevné systémy Formáty obrázků pro WWW

Kurz digitální fotografie. blok 1 data/úpravy fotografií

Digitální fotoaparáty

Digitální fotoaparáty

Programování v Pythonu

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010

Videosekvence. vznik, úpravy, konverze formátů, zachytávání videa...

Číslo DUM: VY_32_INOVACE_04_01 Autor: Mgr. Ivana Matyášková Datum vytvoření: březen 2013 Ročník: prima Vzdělávací obor: informační technologie

Reprezentace bodu, zobrazení

Rastrové počítačové obrazy (poněkud sporně často označované jako bitmapové) jsou pravděpodobně nejběžnější variantou obrazů v počítači.

, Brno Připravil: Ing. Jaromír Landa. Postprocessing videa

Barvy a barevné modely. Počítačová grafika

STŘEDNÍ PRŮMYSLOVÁ ŠKOLA NA PROSEKU. TV, kabelové modemy

Obrazová data. Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno. prezentace je součástí projektu FRVŠ č.2487/2011

Elektromagnetické záření. Zdroj:

Datové formáty grafiky, jejich specifika a možnosti využití. L u b o š T o m e š e k U M T M a n a ž e r s k á i n f o r m a t i k a 2015/ 16

Barvy a barevné systémy Formáty obrázků pro WWW

JPEG Formát pro archivaci a zpřístupnění.

Kompresní metody první generace

aneb jak se to tam všechno vejde?

Pavel Roubal Výukový modul projektu: Nové formy výuky ve školách kraje Vysočina

SOŠ Benešov, Černoleská 1997

Převody datových formátů

Adobe Photoshop 18. Ukládání dokumentu formáty

Moderní multimediální elektronika (U3V)

1. Formáty grafických dat

Informatika Počítačová grafika Mgr. Jan Jílek (v.11/12) Počítačová grafika

Digitální grafika. Digitální obraz je reprezentace dvojrozměrného obrazu, který používá binární soustavu (jedničky a nuly).

Volitelný modul školení P projektu SIPVZ

FORMÁTY UKLÁDÁNÍ OBRAZOVÝCH INFORMACÍ VÝMĚNA DAT MEZI CAD SYSTÉMY

Rozšíření bakalářské práce

IVT. Rastrová grafika. 8. ročník

Zásady prezentace CENTRUM MEDIÁLNÍHO VZDĚLÁVÁNÍ. Akreditované středisko dalšího vzdělávání pedagogických pracovníků

KOMPRESE OBRAZŮ. Václav Hlaváč. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání. hlavac@fel.cvut.

Kde se používá počítačová grafika (PG)?

Světlo. Podstata světla. Elektromagnetické záření Korpuskulární charakter. Rychlost světla. Vlnová délka. Vlnění, foton. c = ,8 km/h

12 Metody snižování barevného prostoru

Porovnání kodeků standardu MPEG 4

Charakteristiky videomateriálu. Digitalizace Barevné schéma Barevná hloubka Rozlišení Framerate Streamování

Transkript:

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO Garant předmětu: Ing. Petr Číka, Ph.D. Autor textu: Ing. Petr Číka, Ph.D. BRNO 2014 Vznik těchto skript byl podpořen projektem č. CZ.1.07/2.2.00/28.0062 Evropského sociálního fondu a státním rozpočtem České republiky.

Autor Ing. Petr Číka, Ph.D. Název Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO Vydavatel Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Ústav telekomunikací Technická 12, 616 00 Brno Vydání první Rok vydání 2014 Náklad elektronicky ISBN 978-80-214-5062-2 Tato publikace neprošla redakční ani jazykovou úpravou

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 3 Obsah 1 Úvod 9 2 Komprese digitálního obrazu 10 2.1 Digitální obraz................................. 10 2.1.1 Barevné modely - barevný obraz.................... 12 2.2 Proč komprese?................................. 16 2.3 Bezeztrátové kompresní techniky....................... 16 2.4 Ztrátové kompresní techniky.......................... 17 2.5 Formát PNG.................................. 17 2.5.1 Úprava obrazu před kompresí..................... 17 2.5.2 Komprese................................ 22 2.6 Formát WebP.................................. 25 2.6.1 Ztrátová komprese........................... 25 2.6.2 Bezeztrátové kódování......................... 27 2.7 Formát JPEG.................................. 28 2.7.1 Sekvenční kódování........................... 28 2.7.2 Dekodér................................. 34 2.7.3 Progresivní kódování založené na DCT................ 35 2.7.4 Bezeztrátové kódování......................... 36 2.7.5 Hierarchické kódování.......................... 38 3 Komprese digitálního videa 39 3.1 Digitální video formáty, kvalita....................... 39 3.1.1 Snímková frekvence........................... 39 3.1.2 Prokládání................................ 39 3.2 Formát MPEG-1................................ 41 3.3 Formát MPEG-2................................ 48 3.4 Formát MPEG-4 Visual............................ 51 3.4.1 Simple profil............................... 56 3.4.2 Advanced Simple Profile........................ 59

4 FEKT Vysokého učení technického v Brně 3.4.3 Advanced Real Time Simple Profile.................. 60 3.4.4 Profil Core................................ 63 3.4.5 Profil Main............................... 63 3.4.6 Profil N-bit............................... 64 3.4.7 Jednoduchý škálovatelný profil..................... 64 3.4.8 Škálovatelný profil Core........................ 65 3.5 Formát MPEG-4 AVC / H.264......................... 66 3.5.1 Základní profil............................. 70 3.5.2 Hlavní profil............................... 77 3.5.3 Rozšířený profil............................. 78 4 Distribuce multimediálního obsahu 80 4.1 Video na vyžádání............................... 80 4.1.1 Centralizované systémy služby video na vyžádání.......... 80 4.1.2 Decentralizované systémy služby video na vyžádání......... 81 4.2 Protokoly RTP/RTCP............................. 86 4.3 Protokol RTSP................................. 91 4.4 Protokol SDP.................................. 95 5 Vodoznačení digitálních dat 101 5.1 Požadavky na vodoznak............................ 102 5.2 Princip vodoznačení.............................. 104 5.3 Systémy vodoznačení.............................. 107 5.4 Základní metody vodoznačení......................... 108 5.5 Dělení vodoznaků................................ 111 5.5.1 Kritérium typ detektoru....................... 111 5.5.2 Kritérium vnímatelnost vodoznaku................. 111 5.5.3 Kritérium zabezpečení........................ 112 5.5.4 Kritérium odolnost.......................... 112 5.5.5 Kritérium oblast pro vkládání vodoznaku.............. 112 5.6 Způsoby útoků na vodoznačený obraz..................... 113 5.6.1 Útoky zaměřené na odstranění vodoznaku.............. 113

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 5 5.6.2 Geometrické útoky........................... 113 5.6.3 Kryptografické útoky.......................... 113 5.6.4 Protokolové útoky........................... 114 5.7 Vodoznačení v prostorové oblasti....................... 114 5.7.1 Metoda vodoznačení LSB v jasové složce............... 114 5.8 Vodoznačení ve frekvenční oblasti....................... 116 5.8.1 Vodoznačení s využitím 2D-DWT transformace........... 116 5.8.2 Vodoznačení s využitím 2D-DCT transformace............ 118

6 FEKT Vysokého učení technického v Brně SEZNAM OBRÁZKŮ 2.1 Barevný model RGB.............................. 13 2.2 Model 4:4:4................................... 14 2.3 Model 4:2:2................................... 14 2.4 Model 4:2:0................................... 15 2.5 Model 4:1:1................................... 15 2.6 Prokládání pixelů metodou Adam7...................... 20 2.7 Poloha bytů použitých při filtrování...................... 21 2.8 Vyčítání koeficientů cik cak.......................... 31 2.9 Kodér a dekodér standardu JPEG....................... 35 2.10 Spektrální selekce a postupná aproximace................... 36 2.11 Predikce u bezeztrátového módu........................ 37 2.12 Hierarchický mód kódování........................... 38 3.1 Prokládání.................................... 40 3.2 Hierarchie MPEG-1............................... 42 3.3 Skupina snímků GOP.............................. 43 3.4 Obecný kodér standardu MPEG........................ 46 3.5 Obecný dekodér standardu MPEG...................... 47 3.6 VOP a VO (pravoúhlé)............................. 54 3.7 VOP a VO (libovolný tvar).......................... 54 3.8 Nástroje a objekty pro kódování pravoúhlých snímků............ 55 3.9 Jeden a 4 vektory pohybu na jeden makroblok................ 57 3.10 Vektor pohybu bez hranic........................... 57 3.11 INTRA predikce DC koeficientů........................ 58 3.12 INTRA predikce AC koeficientů........................ 58 3.13 Struktura video paketu............................. 59 3.14 Příklad RVLC.................................. 59 3.15 Příklad globální pohybové kompenzace.................... 61 3.16 NEWPRED................................... 61 3.17 Dynamická změna rozlišení........................... 62

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 7 3.18 Kodér H.264................................... 67 3.19 Dekodér H.264................................. 68 3.20 Skupina proužků................................ 71 3.21 Dělení makrobloků a sub-makrobloků..................... 71 3.22 Interpolace na půlpixelovou přesnost..................... 72 3.23 Interpolace na čtvrt-pixelovou přesnost.................... 73 3.24 Interpolace na 1/8-pixelovou přesnost..................... 73 3.25 Predikční módy pro bloky 4x4......................... 74 3.26 Predikční módy pro bloky 16x16........................ 75 3.27 Čtení bloků z makrobloku........................... 77 3.28 Přepnutí streamu pomocí proužku I...................... 78 3.29 Přepnutí streamu pomocí proužku SP..................... 79 3.30 Posun ve streamu pomocí proužku SP..................... 79 4.1 Batching příklad............................... 82 4.2 Patching příklad............................... 83 4.3 Hlavička protokolu RTP............................ 86 4.4 Typy zátěže................................... 88 5.1 Základní systém pro vodoznačení....................... 102 5.2 Základní požadavky na vodoznak....................... 104 5.3 Obecné schéma systému pro vložení vodoznaku............... 105 5.4 Obecné schéma systému pro detekci a extrakci vodoznaku......... 106 5.5 Základní komunikační model pro zabezpečený přenos............ 108 5.6 Základní model komunikačního systému pro vodoznačení.......... 110 5.7 Model pro vložení vodoznaku v transformované oblasti........... 110 5.8 LSB technika vložení vodoznaku...................... 115 5.9 LSB technika extrakce vodoznaku..................... 116 5.10 DWT technika vložení vodoznaku..................... 117 5.11 DWT technika extrakce vodoznaku.................... 119 5.12 DCT technika vložení vodoznaku...................... 120 5.13 DCT technika extrakce vodoznaku..................... 121

8 FEKT Vysokého učení technického v Brně SEZNAM TABULEK 2.1 Běžné bitové hloubky.............................. 11 2.2 Podporované kombinace typu barvy a bitové hloubky formátu PNG.... 19 2.3 Kvantizační tabulka pro jasovou složku ze standardu JPEG......... 29 2.4 Kvantizační tabulka pro barvonosné složky ze standardu.......... 30 2.5 Tabulka kategorií a přídavných hodnot pro DC koeficienty......... 32 2.6 Tabulka kódů pro AC koeficienty....................... 33 2.7 Možnosti predikce u bezeztrátového módu JPEG.............. 37 3.1 Profily v MPEG-2................................ 49 3.2 Úrovně v MPEG-2............................... 50 3.3 Profily kódování standardního videa...................... 52 3.4 Levely profilů založených na Simple profilu.................. 53 4.1 Informace v paketech SDES.......................... 92 4.2 Metody používané protokolem RTSP..................... 93

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 9 1 ÚVOD Skripta s názvem Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB- TUO jsou volným pokračováním skript Multimédia. Slouží zejména k výuce v předmětu Multimédia magisterského studijního oboru Telekomunikační a informační technika na Fakultě elektrotechniky a komunikačních technologií pří Vysokém učení technickém v Brně. Najdete zde detailní popis kompresních standardů pro statické obrazy a video, principy distribuce multimediálního obsahu datovou sítí (streaming, video na vyžádání) a popis zabezpečení obrazových dat vodoznačením.

10 FEKT Vysokého učení technického v Brně 2 KOMPRESE DIGITÁLNÍHO OBRAZU 2.1 Digitální obraz Digitální obraz existuje ve dvou variantách: 1. Obraz vyjádřený vektorovou grafikou se skládá z geometrických tvarů, mezi něž patří body, křivky, přímky a mnohoúhelníky. Obecně platí, že obraz vyjádřený vektorovou grafikou je složen z křivek, které spojují tzv. kotevní body (Beziérovy křivky). Beziérova křivka je popsána čtyřmi body: dva krajní body = kotevní body, dva kontrolní body = body určující tvar křivky. Obraz vyjádřený vektorovou grafikou našel své uplatnění v počítačové sazbě, při tvorbě počítačových animací, ilustrací apod. Mezi nejznámější formáty vektorové grafiky patří PostScript (.eps,.ps), Portable Document Format (.pdf), Corel Draw (.cdr). Výhody: Menší paměťová náročnost vzhledem k obrazu vyjádřeném v bitmapové grafice. Objekty obrazu lze zpracovávat samostatně. Při změně velikosti obrazu nedochází ke ztrátě kvality. Nevýhody: Při větší složitosti objektu je obraz vyjádřený vektorovou grafikou náročnější na operační paměť a procesor. Obraz nelze pořídit fotoaparátem, videokamerou, skenerem ani jiným podobným zařízením. 2. Obraz vyjádřený bitmapovou grafikou je složen z barevných bodů (pixelů, pelů) uspořádaných do mřížky. Každý pixel je definován svojí polohou a hodnotou v barevném modelu (RGB, YCbCr,...). Ke známým formátům bitmapové grafiky patří Windows Bitmap (.bmp), Portable Network Graphic (.png), Tagged Image File Format (.tiff), Joint Photographic Experts Group (.jpg, jpeg), Graphics Interchange Format (.gif).

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 11 Výhody: Pořízení bitmapového obrazu je snadné, lze použít fotoaparát, videokamera, skener apod. Nevýhody: Při zvětšování a zmenšování obrazu dochází ke zhoršení kvality. Náročný na operační paměť a procesor v případě vysokého rozlišení. Dále se budeme zabývat pouze bitmapovou grafikou. Bitmapový obraz je charakterizován jasem, barevnou hloubkou, rozlišením, kontrastem, dynamickým rozsahem a barevným modelem. (a) Jas a bitová hloubka obrazu Jas definuje svítivost pixelu. Černá barva má hodnotu svítivosti obvykle nula, bílá barva má hodnotu svítivosti definovanou nejvyšším možným číslem (v případě reprezentace 8 bity je to 255). Maximální hodnota jasu udává schopnost dané reprezentace obrazu rozlišit různé úrovně jasu = bitová hloubka obrazu. Jednotka pro bitovou hloubku obrazu je bpp (Bits per Pixel). Běžně používané bitové hloubky jsou v tabulce 2.1. Tabulka 2.1: Běžné bitové hloubky Bitová hloubka Maximální úroveň jasu Doplňkové informace 1 bpp 2 1 černá, bílá 2 bpp 2 2 4 odstíny 4 bpp 2 4 16 odstínů 8 bpp 2 8 256 odstínů 24 bpp 2 24 běžně RGB (8b-R,8b-G,8b-B) 32 bpp 2 32 běžně RGBA (8b-R,8b-G,8b-B, 8b-A) (b) Rozlišení obrazu Rozlišení existuje prostorové a jasové:

12 FEKT Vysokého učení technického v Brně Prostorové rozlišení udává šířku a výšku obrazu, například 640x480 pix, 1280x720 pix apod. Často se také vyjadřuje v jednotce MegaPixel (MP, Mpx). Megapixel značí jeden milion pixelů. Tato jednotka se používá u digitálních kamer a fotoaparátů. Jako příklad uvedeme digitální senzor fotoaparátu se schopností zachytit obraz v prostorovém rozlišení 1280x1024 pix jeho rozlišovací schopnost v Mpx je 1 310 720 pixelů = 1,31 Mpx. Jasové rozlišení udává kolik pixelů odpovídá šířce jednoho palce (2,54 cm) jednotka DPI (Dots per Inch). (c) Kontrast a dynamický rozsah Kontrast digitálního obrazu je spjat s fyziologií lidského zrakového systému. Kontrast digitálního obrazu kvantifikuje rozdíl nebo podíl jasu mezi nejsvětlejšími a nejtmavšími oblastmi. Podíl hodnot nejvyššího a nejnižšího jasu udává dynamický rozsah. Vzhledem k tomu, že podíl může kolísat ve značném rozsahu, obvykle se udává jeho dekadický logaritmus. 2.1.1 Barevné modely - barevný obraz Pro barevné obrazy existuje řada barevných modelů obsahujících komponenty pro popis barev. Mísením barev jakéhokoli barevného modelu vynikne výsledná barva. Nejčastěji používané barevné modely jsou RGB, CMY K, HSV, Y UV, Y CbCr. Při kompresích se využívají zejména modely RGB, Y UV, Y CbCr. Barevný model RGB Barevný model RGB využívá aditivní míchání barev, konkrétně červené R(Red), zelené G(Green) a modré B(Blue). Aditivní míchání znamená, že sečtením jednotlivých barevných složek vznikne barva výsledná. Barevný model RGB lze vyjádřit jednotkovou krychlí - viz obr. 2.1. Osy krychle (x, y, z) představují modré, červené a zelené světlo. Barevný model RGB se používá při zobrazování barev na monitorech a různých displejích. Variantou model RGB je model ARGB, kde je ke třem základním barvám přidán tzv. alfa kanál označující průhlednost snímku.

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 13 MODRÁ (0,0,255) AZUROVÁ (0,255,255) FIALOVÁ (255,0,255) BÍLÁ (255,255,255) Stupnice šedé ČERNÁ (0,0,0) ZELENÁ (0,255,0) ČERVENÁ (255,0,0) ŽLUTÁ (255,255,0) Obrázek 2.1: Barevný model RGB Barevný model Y UV Barevný model Y U V je používán ve standardních analogových video formátech PAL (Phase Alternation Line), NTSC (National Television System Committee) a SECAM (Sequentiel Couleur Avec Mémoire or Sequential Color with Memory). Černobílé systémy využívají pouze jasovou složku Y, barevné systémy využívají jak jasovou složku Y, tak i barvonosné složky U, V. Základní převodní vztahy mezi prostorem RGB a Y UV jsou následující: Y = 0, 299R + 0, 587G + 0, 114B, U = 0, 147R 0, 289G + 0, 436B = 0, 492(B Y ), (2.1) V = 0, 615R 0, 515G 0, 100B = 0, 877(R Y ), R = Y + 0, 140V, G = Y 0, 395U 0, 581V, (2.2) B = Y + 2, 032U.

14 FEKT Vysokého učení technického v Brně Vzorkování modelu Y UV Model lidského zrakového systému HVS (Human Visual System) poukazuje na skutečnost, že lidské oko je méně citlivé na barevné složky než na jasové složky obrazu. Z toho důvodu je možné barevné složky jistým způsobem potlačit, což lze provést vzorkováním barvonosných složek. Existují celkem 4 modely vzorkování: 4:4:4, 4:2:2 (Y U Y 2), 4:2:0 (Y UY 12), 4:1:1. Model 4:4:4 zachovává všechny složky modelu stejné. Obrázek 2.2: Model 4:4:4 Model 4:2:2 zachová jasovou složku v původním formátu, podvzorkuje horizontální rozlišení barvonosných složek na polovinu. Obrázek 2.3: Model 4:2:2 Model 4:2:0 zachová jasovou složku v původním formátu, podvzorkuje horizontální i vertikální rozlišení barvonosných složek na polovinu. Model 4:1:1 zachová jasovou složku v původním formátu, podvzorkuje horizontální rozlišení barvonosných složek na čtvrtinu. Při vzorkování dochází ke ztrátě informace!

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 15 Obrázek 2.4: Model 4:2:0 Obrázek 2.5: Model 4:1:1 Barevný model Y CbCr Barevný model Y CbCr je používán ve standardních digitálních video formátech a byl vyvinut jako část standardu ITU-R BT.601. Vychází z modelu Y UV. Pro počítačové zpracování SDTV signálu se využívá převodních vztahů Y = 0, 257R + 0, 504G + 0, 098B + 16, Cb = 0, 148R 0, 291G + 0, 439B + 128, (2.3) Cr = 0, 439R 0, 368G 0, 071B + 128, R = 1.164(Y 16) + 1, 596(Cr 128), G = 1, 164(Y 16) 0, 813(Cr 128) 0, 391(Cb 128), (2.4) B = 1, 164(Y 16) + 2, 018(Cb 128).

16 FEKT Vysokého učení technického v Brně Pro počítačové zpracování HDTV signálu se využívá převodních vztahů Y = 0, 183R + 0, 614G + 0, 062B + 16, Cb = 0, 101R 0, 338G + 0, 439B + 128, (2.5) Cr = 0, 439R 0, 399G 0, 040B + 128, R = 1.164(Y 16) + 1, 793(Cr 128), G = 1, 164(Y 16) 0, 534(Cr 128) 0, 213(Cb 128), (2.6) B = 1, 164(Y 16) + 2, 115(Cb 128). 2.2 Proč komprese? Nekomprimovaný digitální obraz zabírá příliš mnoho datového prostoru. Uvedeme si příklad digitální barevné fotografie s rozlišením 3872 x 2592 pix (cca 10 MPix). Každý pixel obrazu je vyjádřen 24 bity (8 bitů R, 8 bitů G, 8 bitů B). Velikost nekomprimovaného obrazu v bitech lze spočítat pomocí vztahu B = Š V P, (2.7) kde Š představuje šířku obrazu, V představuje výšku obrazu a P je počet bitů vyjadřujících jeden pixel. Po dosazení hodnot z příkladu dostaneme B = 3872 2592 24 = 240869376b = 229, 71Mb = 28, 71MB. (2.8) 2.3 Bezeztrátové kompresní techniky Bezeztrátové kompresní techniky, jak již z názvu vyplývá, při své činnosti nezpůsobují ztrátu informace. V případě, že jsou data bezeztrátově komprimována, lze jejich informaci získat zpět bez jakékoli ztráty. U obrazových kompresních standardů se nejčastěji využívají následující bezeztrátové kompresní techniky: Prediktivní kódování DPCM (Differential pulse-code modulation),

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 17 Huffmanovo kódování, aritmetické kódování, slovníkové metody kódování, ostatní entropické kodéry. 2.4 Ztrátové kompresní techniky Ztrátové kompresní techniky způsobují určitou ztrátu informace. Data, která byla komprimována ztrátovou kompresní technikou, již nelze zrekonstruovat zcela přesně. Daná ztráta je však často vyvážena podstatně vyšším kompresním poměrem, nežli tomu je u technik bezeztrátové komprese. Existuje celá řada standardů a kompresních technik využívaných u statických obrazů. K nejznámějším patří formáty komprese PNG, WebP, JPEG. 2.5 Formát PNG PNG (Portable Network Graphics) je kompresní standard pro digitální obrazy s podporou ztrátové i bezeztrátové komprese bitmapových obrazů definovaný v ISO/IEC 15948:2003. Obecně platí, že standard PNG je podstatně dokonalejší než standard GIF. Oproti GIFu nabízí podporu 24 bitové barevné hloubky, podporuje osmibitovou průhlednost (tzv. alfa kanál) a lepší kompresi. Nevýhodou PNG oproti GIFu je praktická nedostupnost jednoduché animace. Pro animaci existují standardy APNG a MNG, které se však zatím neprosadily. PNG se stejně jako formáty GIF a JPEG používá zejména na Internetu. 2.5.1 Úprava obrazu před kompresí Před samotnou kompresí PNG je na zdrojový obraz aplikováno několik transformací.

18 FEKT Vysokého učení technického v Brně Separace alfa kanálu Alpha Separation Alfa kanál se může odstranit v případě, kdy všechny složky alfa kanálu mají maximální hodnotu (255). Indexování barev Pokud využívá obraz (24 nebo 32 bitový) v barevné paletě pouze 256 barev nebo méně, je možné použít tzv. indexování barev (barevnou paletu). Barevná paleta obsahuje kombinace složek RGB barvy. Každá barva je označena indexem. Jednotlivé barvy v obrazu poté odkazují na daný index barvy v barevné paletě. Tímto krokem dochází ke značné úspoře bitového toku, jelikož každý vzorek je reprezentován pouze osmi bity. Sloučení RGB Místo indexace se může využít tzv. sloučení RGB (merging). V případě, že jednotlivé barevné kanály mají stejnou bitovou hloubku a pro každý pixel jsou hodnoty barevných složek RGB shodné, pak je možné barevné kanály sloučit do jednoho kanálu ve stupních šedé. Zhutnění alfa kanálu (Alpha Compaction) Pokud obraz obsahuje alfa kanál a existuje jedna barva RGB pro kterou platí, že všechny pixely nesoucí tuto barvu jsou průhledné zatímco ostatní pixely jsou neprůhledné, je možné alfa kanál vynechat a zapsat pouze informaci o kombinaci RGB která je průhledná. Změna bitové hloubky (Sample Depth Scaling) Formát PNG podporuje pouze některé bitové hloubky obrazu. Seznam podporovaných kombinací zobrazuje tabulka 2.2. Pokud je referenční obraz v jiné bitové hloubce, volí se nejbližší vyšší bitová hloubka a původní hodnoty jsou lineárně přepočteny do nových hodnot. Prokládání pixelů Komprese PNG umožňuje dvě varianty kódování:

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 19 Tabulka 2.2: Podporované kombinace typu barvy a bitové hloubky formátu PNG Typ obrazu Typ Podporované Interpretace barvy bitové hloubky Stupně šedé 0 1, 2, 4, 8, 16 Každý pixel má hodnotu stupně šedé Truecolour 2 8, 16 Každý pixel obsahuje trojici hodnot RGB Indexované barvy Stupně šedé s průhledností 3 1, 2, 4, 8 Každý pixel je zastoupen indexem paletové barvy 4 8, 16 Každý pixel má hodnotu stupně šedé a hodnotu alfa kanálu Truecolour průhledností s 6 8, 16 Každý pixel obsahuje trojici hodnot RGB a hodnotu alfa kanálu

20 FEKT Vysokého učení technického v Brně Bez prokládání pixely jsou z obrazu vyčítány nejprve po řádcích zleva doprava, shora dolů. Pokud mají pixely obrazu 16bitovou hloubku na kanál, jsou zaznamenány 2 byty v pořadí nejprve MSB, pak LSB. S prokládáním (metoda Adam7) pixely obrazu jsou vyčítány v sedmi průchodech. První průchod vytvoří hrubý náhled na obraz a každý další jej zjemňuje. Přesný sled pixelů v oblasti 8 8 pixelů je naznačen na obrázku 2.6. Tímto způsobem lze během přenosu již s 1/64 dat (po kompletním přenosu prvního průchodu prokládání) zobrazit hrubý náhled obrázku. Obrázek 2.6: Prokládání pixelů metodou Adam7 Filtrace Před kompresí se provádí filtrace, jejíž snahou je připravit obraz tak, aby výsledná komprese dosahovala co nejlepších výsledků. Formát PNG specifikuje celkem 5 různých filtrů. Na každý řádek redukovaného obrazu (obraz vzniklý průchodem prokládání řádků) je možné použít rozdílné filtry. Doporučuje se však použití pouze jednoho filtru. Filtry pracují přímo s byty, nikoliv pixely obrázku. Označení pozic bytů použitých při filtrování je zobrazeno na obrázku 2.7. Pokud je byte x na pozici prvního pixelu skenovaného řádku, pak byty a a c mají nulovou hodnotu. Stejně tak, pokud se byte x nachází v prvním skenovaném řádku, potom byty b a c jsou nulové.

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 21 Obrázek 2.7: Poloha bytů použitých při filtrování Typy filtrů jsou: 1. Filtr typu 0 None Žádný filtr, byty jsou ze vstupu přesně zkopírovány na výstup a nedochází k žádné změně. Pro některé obrazy je tento typ filtru nejvýhodnější a je s ním dosaženo největší komprese. 2. Filtr typu 1 Sub Filtr typu 1 od aktuálního bytu odečítá byte nalevo od něj, tedy x = x a. Při rekonstrukci obrazu se rozdíl nahradí součtem, tedy x = x + a. 3. Filtr typu 2 Up Filtr typu 2 od aktuálního bytu odečítá byte nad ním, tedy x = x b. Při rekonstrukci obrazu se rozdíl nahradí součtem, tedy x = x + b. 4. Filtr typu 3 Average Filtr typu 3 kombinuje dva předchozí filtry a odečítá průměrnou hodnotu bytů nalevo a nad aktuálním bytem, tedy x = x (a b)/2 a zaokrouhluje na celé číslo směrem dolů. Při rekonstrukci obrazu se rozdíl nahradí součtem, tedy x = x + (a b)/2. 5. Filtr typu 4 Paethův Poslední z řady filtrů je nejsložitější, porovnává absolutní hodnoty získané dle rovnic p = a + b c, pa = p a, pb = p b, pc = p c

22 FEKT Vysokého učení technického v Brně a volí z pa, pb a pc tu nejnižší. Ta je následně odečtena od původního bytu. Při rekonstrukci obrazu se rozdíl nahradí součtem. 2.5.2 Komprese Ke kompresi se používá algoritmus Deflate, pro dekompresi Inflate. Při kompresi se používá slovníkové kódování LZ77 společně s Huffmanovým kódováním. Komprese LZ77 hledá v komprimovaných blocích dat duplikovanou sérii bytů. Jakmile nějakou nalezne, je nahrazena značkou obsahující délku série a vzdáleností k předchozí shodě. Maximální možná vzdálenost shodných sérií je 32768 bytů. Následuje Huffmanovo kódování, které dále snižuje počet bytů. Výsledný datový tok je uložen ve formátu zlib. Rozdělení na části - Chunking Data formátu PNG jsou uchována v souboru rozděleném do částí chunků, kterým předchází hlavička. Hlavička slouží k identifikaci formátu a detekci běžných chyb. Skládá se z dekadických hodnot: 137 80 78 71 13 10 26 10. První byte má v MSB hodnotu 1 a slouží k detekci chyb. Následující tři byty obsahují ASCII znaky PNG, dále symboly CR, LF (Carriage Return, Line Feed), dále speciální znak pro ukončení textového výpisu a opět znak LF. Každý chunk se skládá ze čtyř částí: 1. První část nese celkovou délku datové části chunku. 2. Druhá část nese informaci o typu chunku, která je identifikována přesně čtyřmi znaky anglické abecedy v ASCII formátu. 3. Třetí částí nese užitečná data. 4. Čtvrtá část nese kód CRC. Ten je vypočítán pomocí polynomu x 32 + x 26 + x 23 + x 22 + x 16 + x 12 + x 11 + x 10 + x 8 + x 7 + x 5 + x 4 + x 2 + x + 1. Typy chunků definované v PNG jsou [2]: IHDR Image header Hlavička obrázku, je odlišná od hlavičky souboru. Obsahuje základní informace o obrázku jako jsou rozměry obrázku, bitová hloubka, typ barvy, metoda komprese, metoda filtrace, prokládání. V současném standardu musí být metoda filtrace i metoda komprimace nastavena na nulu a musí být umístěna ihned za hlavičkou souboru.

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 23 PLTE Palette Pokud obrázek obsahuje paletu barev, je uložena v tomto chunku. IDAT Image data Samotný obrázek je uložen zde, soubor musí obsahovat minimálně jeden IDAT chunk. IEND Image Trailer Označuje konec PNG souboru. trns Transparency Tento chunk obsahuje údaje o průhlednosti obrázku. V případě paletového obrázku obsahuje tabulku s hodnotami alfa kanálu pro dané indexy palety. chrm Primary chromaticities and white point Obsahuje informace o pozicích primárních složek RGB a referenčního bílého bodu v obrázku. gama Image gamma Obsahuje poměr mezi vzorky obrázku a výstupního jasu. iccp Embedded ICC profile Zde je obsažen barevný profil ICC, pokud je chunk v souboru obsažen, musí mít alespoň jeden profil. sbit Significant bits Slouží pro obnovu plného rozsahu bitové hloubky, pokud došlo k její změně. srgb Standard RGB colour space Udává použitý srgb barevný profil. text, itxt a ztxt Textual information Umožňuje zapsat do souboru různé textové informace. bkgd Background colour Udává základní barvu pozadí obrázku. hist Image histogram Histogram obrázku, je dostupný pouze pro indexované obrázky. phys Physical pixel dimensions Udává fyzické rozměry pixelů. splt Suggested palette

24 FEKT Vysokého učení technického v Brně Obsahuje informace o vhodných (doporučených) paletách pro zobrazení obrázku. time Image last-modification time Časový údaj poslední změny obrazových dat.

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 25 2.6 Formát WebP WebP je obrazový kompresní formát, který poskytuje bezeztrátovou i ztrátovou kompresi obrazu. Bezeztrátová komprese poskytuje přibližně 26 % úsporu v porovnání s velikostí obrazu komprimovaném v PNG. Ztrátová komprese poskytuje přibližně o 25-34 % menší velikost ve srovnání s obrázky JPEG s ekvivalentním indexem SSIM [2]. Formát WebP podporuje průhlednost (alfa kanál) a při jeho použití dosahuje podstatně lepších kompresí než u PNG. Pro ukládání souborů formátu WebP byl zvolen formát RIFF (Resource Interchange File Format) a podobně jako u formátu PNG, rozděluje data do chunků. Prvním elementem v souboru je hlavička, ve které je nejprve uložena identifikace dokumentu RIFF v ASCII formátu. Dále následuje 32bitové číslo udávající celkovou velikost souboru, poslední částí je identifikace formátu WebP opět v ASCII formátu. Dále již následují jednotlivé chunky identifikované znaky VP8 (kompresní video formát od společnosti Google), respektive VP8L v případě bezeztrátové komprese. 2.6.1 Ztrátová komprese Základem ztrátové komprese formátu WebP je predikce bloků. Při kompresi je tedy obraz rozdělen na menší části makrobloky. V každém makrobloku je hledána nadbytečná barevná a pohybová informace. Tato informace nese v podstatě změnu (rozdíl) současně kódovaného makrobloku od předchozích makrobloků. Na získaný rozdíl je následně aplikována diskrétní kosinová transformace, která má za následek, že velké množství koeficientů, hlavně ve vyšších frekvencích, je blízkých nule. Data jsou následně kvantována a entropicky kódována. Predikce uvnitř snímku Predikce bloků pracuje se třemi druhy makrobloků: 1. makroblok jasové složky velikosti 4 x 4 pixelů, 2. makroblok jasové složky velikosti 16 x 16 pixelů, 3. makroblok barvonosné složky velikosti 8 x 8 pixelů.

26 FEKT Vysokého učení technického v Brně Barvonosné složky jsou podvzorkovány stejně jako u formátu JPEG, jedinou možností je model 4:2:0. Velikost bloků s jasovou složkou je volena na základě množství detailů ve scéně, na detailní části se použijí makrobloky o velikosti 4 4 pixelů. Samotná predikce nabízí 4 režimy: 1. H_PRED (Horizontální predikce) Každý sloupec bloku naplní sloupcem, který sousedí s blokem nalevo. 2. V_PRED (Vertikální predikce) Každý řádek bloku naplní řádkem, který se nachází nad blokem. 3. DC_PRED (DC predikce) Celý blok zaplní jednou barvou, kterou získá na základě průměru sloupce sousedícího nalevo a řádku nad blokem. 4. TM_PRED (TrueMotion predikce) Používá predikci pohybu na základě řádku nad blokem, sloupce vlevo a pixelu vlevo nad blokem. U makrobloků o velikosti 4 4 je možné H_PRED i V_PRED rozšířit do dalších 6 směrů. Vytvořený predikční snímek je odečten od skutečné části a je uložen pouze rozdíl, který podléhá dalším procesům. Transformace 2D-DCT/2D-WHT Na jednotlivé rozdílové bloky je většinou aplikována diskrétní kosinová transformace, výjimečně se použije Walsh Hadamardova transformace. Obě transformace jsou prováděny s pevnou desetinou čárkou, aby byla minimalizována ztráta informací. Adaptivní kvantizace Pro zlepšení výsledné kvality obrazu, umožňuje formát WebP použít adaptivní kvantizaci. Obraz je rozdělen do vizuálně podobných segmentů. Každý segment může být komprimován s odlišnými parametry. Povoleny jsou maximálně 4 segmenty v obraze. Entropické kódování Formát WebP používá aritmetické kódování.

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 27 2.6.2 Bezeztrátové kódování Základem bezeztrátového kódování jsou transformace obrazu s použitím různých technik. Zakódovány jsou pak zejména parametry těchto technik s transformovanými obrazovými daty. Mezi techniky používané u WebP patří: Transformace s prostorovou predikcí (Spatial prediction transform) Transformace s prostorovou predikcí využívá faktu, že sousedící pixely spolu často korelují. Hodnota aktuálního pixelu je predikovaná na základě již zakódovaných pixelů a je zakódován pouze rozdíl mezi aktuálním a predikovaným pixelem. Obraz je rozdělen do několika regionů a v rámci regionu lze použít pouze jeden druh predikce. Transformace barevného prostoru (Color space transform) Transformace barevného prostoru dekoreluje RGB hodnoty každého pixelu. Zelená složka je ponechána v původní podobě, červená je transformována na základě zelené a modrá je transformována na základě zelené a pak červené. Transformace odečtením zelené složky (Subtract green transform) Tato transformace odečte hodnotu zelené složky od červené i modré složky. Transformace indexací barev (Color Indexing Transform) Technika je naprosto shodná s indexováním u formátu PNG. Pokud obraz používá méně než 256 barev, je vytvořena paleta a vzorek odkazuje na index v paletě. Po aplikaci transformací dochází k samotnému kódování, ke kterému se používá varianty slovníkového kódování LZ77 a Huffmanův kód [2].

28 FEKT Vysokého učení technického v Brně 2.7 Formát JPEG Kompresní standard JPEG (Joint Photographic Experts Group) lze použít pro šedotónové i barevné obrazy a je využíván současnými zařízeními, mezi něž patří například fotoaparáty, PC, tablety, mobilní telefony a jiné. Standard JPEG definuje 4 módy kompresí: 1. Sekvenční kódování Obraz se kóduje sekvenčně řádek po řádku (ztrátové kódování ). 2. Postupné kódování Obraz se kóduje ve více iteracích (ztrátové kódování ). 3. Bezeztrátové kódování Obraz se kóduje bezeztrátově (bezeztrátové kódování ). 4. Hierarchické kódování Rozlišovací schopnosti obrazu mohou být změněny bez dekódování celého obrazu (ztrátové kódování ). JPEG při kompresi nerozlišuje jednotlivé barevné složky, pracuje s každou stejně. Jeho vstupem je matice čísel a výstupem je taktéž matice čísel. 2.7.1 Sekvenční kódování Vstupem sekvenčního kodéru je přiveden digitální obraz v barevném modelu RGB. Obraz je transformován do barevného modelu YCbCr. Následuje podvzorkování barvonosných složek může být použit model 4:4:4 (bez podvzorkování), 4:2:2 nebo 4:2:0. Každá matice se rozdělí na bloky o velikosti 8x8 pixelů. Každý blok je převeden z prostorové oblasti do oblasti frekvenční pomocí 2D-DCT. U transformovaného bloku platí, že v levém horním rohu je koeficient představující stejnosměrnou složku (DC koeficient), ostatní koeficienty představují střídavé složky (AC koeficienty). Jednotlivé koeficienty v transformovaných blocích ve frekvenční oblasti jsou podrobeny kvantizaci. Při kvantizaci je každý koeficient z frekvenční matice 8x8 kvantován do určitého počtu kvantizačních hladin. Počet kvantizačních hladin není ve standardu JPEG definován a je na každé implementaci, jaké hodnoty budou použity. Na obrázku 2.3 a 2.4 [1] jsou uvedeny doporučené kvantizační tabulky ze kterých je patrné, že složky se vzrůstající frekvencí jsou kódovány do menšího počtu kvantovacích hladin. Odlišnosti kvantovacích tabulek pro jasové a barvonosné bloky jsou zavedeny z důvodu citlivostí lidského oka (na

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 29 jas je více citlivé než na barvu). Kvantování každého prvku probíhá dle vzorce S quv = S uv Q uv, (2.9) kde S quv je hodnota frekvenčního koeficientu po kvantizaci, S uv je hodnota frekvenčního koeficientu před kvantizací a Q uv je kvantizační krok získaný z kvantizační tabulky 2.3 pro jasovou složku nebo z kvantizační tabulky 2.4 pro barvonosnou složku. Tabulka 2.3: Kvantizační tabulka pro jasovou složku ze standardu JPEG 16 11 10 16 24 40 51 61 12 12 14 19 26 58 60 55 14 13 16 24 40 57 69 56 14 17 22 29 51 87 80 62 18 22 37 56 68 109 103 77 24 35 55 64 81 104 113 92 49 64 78 87 103 121 120 101 72 92 95 98 112 100 103 99 Při kompresi je jako jeden z hlavních parametrů nastavována kvalita výstupního snímku. Ta může nabývat hodnot q = 1, 2,..., 100, kde q je kvalitativní faktor. Podle faktoru q jsou upraveny kvantovací tabulky. Hodnota 1 znamená největší kompresi (nejméně kvalitní výstupní obraz), hodnota 100 znamená nejmenší kompresi (nejjakostnější výstupní obraz). Kvantizační tabulka je vždy definovaná pouze pro hodnotu kvalitativního faktoru q = 50. Pro přesné nastavení kvality a změnu kvantovací tabulky je definován vztah kde α = 50 q 2q v případě, že platí 1 q 50, α = 2 100 Q quv = αq uv, (2.10) případě, že q = 100, jsou hodnoty kvantizačních tabulkách rovny 1. v případě, že platí 50 q 99. V Po kvantizaci se zpracovávají zvlášť stejnosměrná složka DC a střídavé koeficienty AC.

30 FEKT Vysokého učení technického v Brně Tabulka 2.4: Kvantizační tabulka pro barvonosné složky ze standardu 17 18 24 47 99 99 99 99 18 21 26 66 99 99 99 99 24 26 56 99 99 99 99 99 47 66 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 Kódování DC složky bloku 8x8 Kódovaná hodnota DC koeficientu je stanovena jako rozdíl DC koeficientu současného a předešlého bloku. Pro výpočet rozdílu je použit vzorec DIF F = S q00 P RED, (2.11) kde S q00 je hodnota aktuálně kódovaného DC koeficientu a P RED je hodnota DC koeficientu předchozího bloku. Výsledek je entropicky kódován. Kódování AC složek bloku 8x8 Střídavé koeficienty AC jsou vyčítány v pořadí cik-cak (obrázek 2.8) se vzrůstající frekvencí. Koeficienty po cik-cak čtení jsou seřazeny vzestupně od nejnižší frekvence. U klasických obrazů bývají koeficienty vyšších frekvencí nulové. Po cik-cak čtení následuje entropické kódování. Entropické kódování Entropické kódování se liší pro DC a AC koeficienty.

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 31 Obrázek 2.8: Vyčítání koeficientů cik cak Entropické kódování pro DC koeficienty Entropické kódování DC koeficientů probíhá následovně: 1. Z tabulky 2.5 se vybere ten řádek, do kterého spadá hodnota DIF F. 2. První část kódu vyjadřujícího hodnotu DIF F je dána Huffmanovým kódem. 3. Druhá část kódu se dopočítává dle přídavných bitů. Jako příklad uvedeme kódování hodnoty DIF F = 13. V tabulce 2.5 tuto hodnotu najdeme na řádku 5, patří do rozsahu ( 15,...8, 8,..., 15). První část kódu je tedy vyjádřena jako 101. Druhá část kódu se dopočítává dle pozice hodnoty v daném intervalu. Interval 8,..., 15 představuje hodnoty 1000,...1111. Pro hodnotu 13 je to tedy sekvence 1101. Entropické kódování pro AC koeficienty Spousta AC koeficientů má nulovou hodnotu. Kódové slovo pro AC koeficient tedy představuje počet nul předcházejících danému koeficientu a hodnotu koeficientu. Tabulky pro AC koeficienty jsou velmi obsáhlé a jsou součástí standardu. Každý si je však může upravit dle své potřeby. Jako příklad zde uvádíme pouze část tabulky (viz tabulka 2.6). V tabulce na pozici (Run, Size) je uvedeno jako Run počet předcházejících nul a jako Size kategorie z tabulky 2.5, do které daný koeficient spadá. Speciální koeficienty ke kódování jsou EOB a ZRL. EOB je přenášen po posledním nenulovém koeficientu v bloku.

32 FEKT Vysokého učení technického v Brně Tabulka 2.5: Tabulka kategorií a přídavných hodnot pro DC koeficienty DIFF Velikost Huffmanův kód Přídavné bity 0 0 00 - -1,1 1 010 0,1-3,-2,2,3 2 001 00,01,10,11-7,...,-4,4,...,7 3 100 000,...,011,100,... 111-15,... -8,8,...,15 4 101 0000,...,0111,1000,...,1111............ -1023,... -512,512,...,1023 10 1111 1110 00 0000 0000,...,11 1111 1111-2047,... -1024,1024,... 2047 11 1 1111 1110 000 0000 0000,...,111 1111 1111 ZRL je přenášen tehdy, pokud počet nul před určitým koeficientem je > 15 a představuje 16 nul, které mohou být součástí další série nul. Pokud tedy máme například 20 nul následovaných koeficientem -5 získáme (ZRL) (4,3) 010.

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 33 Tabulka 2.6: Tabulka kódů pro AC koeficienty (Run, Size) Kódové slovo (Run,Size) Kódové slovo (0,1) 00 (0,6) 1111000 (0,2) 01 (1,3) 1111001 (0,3) 100 (5,1) 1111010 (EOB) 1010 (6,1) 1111011 (0,4) 1011 (0,7) 11111000 (1,1) 1100 (2,2) 11111001 (0,5) 11010 (7,1) 11111010 (1,2) 11011 (1,4) 111110110 (2,1) 11100...... (3,1) 111010 (ZRL) 11111111001 (4,1) 111011......

34 FEKT Vysokého učení technického v Brně Příklad entropického kódování Mějme blok pro kódování s hodnotami 13 3 2 0 0 0 1 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Nejprve se kóduje DC koeficient s hodnotou 13 jako: (DIFF) -13 : 101 0010 Následuje kódování AC koeficientů: (0,2) -3 : 01 00 (0,3) 6 : 100 110 (3,1) -1 : 11111001 10 (ZRL) (1,1) : 111010 0 11111111001 1100 1 (EOB) : 1010 Výstup z kodéru Komprimovaný bitový tok obsahuje informace o jednotlivých blocích obrazu, použité kvantovací a Huffmanovy tabulky. 2.7.2 Dekodér Dekodér pracuje inverzně ke kodéru. Blokové achéma kodéru i dekodéru je na obrázku 2.9.

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 35 RGB YCbCr 4:2:0 Bloky 8x8 2D-DCT Kvantizační tabulky Kvantizace Čtení cik-cak C(0)... DPCM RLE Huffmanovy tabulky Huffmanovo /aritmetické/ kódování DATA C(63) Přenosový kanál Bloky 8x8 Inverzní 2D-DCT Inverzní kvantizace C(0)... IDPCM IRLE Huffmanovo /aritmetické/ dekódování DATA 4:4:4 C(63) YCbCr Kvantizační tabulky Huffmanovy tabulky RGB Obrázek 2.9: Kodér a dekodér standardu JPEG 2.7.3 Progresivní kódování založené na DCT Princip kódování je podobný sekvenčním módu, data jsou kódována ve více průchodech. Výsledek při dekódování je v první fázi méně kvalitní obraz, který je postupně vylepšován (známe z mobilních telefonů či digitálních fotoaparátů). Existují dva způsoby (obrázek 2.10), jakými mohou být koeficienty v jednotlivých průchodech vybírány: Spektrální selekce Při použití metody spektrální selekce jsou transformované koeficienty každého bloku nejprve přeuspořádány ve směru cik cak a následně děleny na jednotlivá frekvenční pásma. Jednotlivá pásma jsou definována v hlavičce. Pásmo s DC koeficientem je kódováno jako první a je následované ostatními pásmy.

36 FEKT Vysokého učení technického v Brně Postupná aproximace Při použití metody postupné aproximace jsou transformované koeficienty nejprve přeuspořádány ve směru cik cak a následně rozděleny do bitových rovin. DC koeficienty jsou kódovány s plnou přesností, AC koeficienty jsou kódovány postupně (od MSB po LSB). obraz 8 8 Přeuspořádání bloků. 2D-DCT 0 1 2 SPEKTRÁLNÍ SELEKCE 62 63 7 MSB 0 LSB POSTUPNÁ APROXIMACE 1. průchod 1. průchod 0 2. průchod 1 2 2. průchod 0 1 2 62 63 7 6 5 4 MSB 3. průchod 61 62 63 3. průchod 0 1 2 62 63 Obrázek 2.10: Spektrální selekce a postupná aproximace 2.7.4 Bezeztrátové kódování Bezeztrátová metoda nevyužívá 2D-DCT a je založená na kompresi v prostorové oblasti. Vychází z metody kódování stejnosměrných koeficientů v sekvenčním módu. Každý pixel

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 37 x (obrázek 2.11) je predikčně kódován jednou z možností uvedených v tabulce 2.7. Na obrázku 2.11 je kódovaný pixel značen písmenem x a tři sousední pixely značeny jako a, b, c. Predikovaná hodnota P x je získána ze tří sousedních pixelů jedním ze sedmi způsobů z tabulky 2.7. c a b x Obrázek 2.11: Predikce u bezeztrátového módu Tabulka 2.7: Možnosti predikce u bezeztrátového módu JPEG Hodnota Predikce 0 bez predikce 1 P x = a 2 P x = b 3 P x = c 4 P x = a + b + c 5 P x = a + ( ) 2 b c 2 6 P x = b + ( ) 2 a c 2 7 P x = ( ) a c 2

38 FEKT Vysokého učení technického v Brně 2.7.5 Hierarchické kódování Hierarchický mód (obrázek 2.12) umožňuje postupné kódování podobně jako progresivní mód, ale nabízí více funkcí hlavně pro aplikace vyžadující více možných rozlišení. V hierarchickém módu je vstupní obraz nejprve rozložený na sekvenci snímků s různým rozlišením. Každý snímek je získaný podvzorkováním původního. První snímek (s nejnižším rozlišením) je kódován jako nerozdílový snímek. Následující snímky jsou kódovány jako rozdílové k předchozímu. První snímek může být zakódovaný sekvenční metodou, spektrální selekcí, progresivním kódováním nebo bezeztrátovou metodou s Huffmanovým či aritmetickým kódováním. Obrázek 2.12: Hierarchický mód kódování

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 39 3 KOMPRESE DIGITÁLNÍHO VIDEA 3.1 Digitální video formáty, kvalita Digitální video je definováno jako série po sobě jdoucích snímků, které jsou zobrazovány s určitou periodou. Navíc, oproti digitálním statickým obrazům, jsou definovány parametry snímková frekvence a prokládání. 3.1.1 Snímková frekvence Snímková frekvence udává počet snímků za jednotku času (obvykle sekundu). 1. Snímková frekvence do 10 snímků za sekundu využití při velmi nízkých přenosových rychlostí, jakýkoli pohyb není přirozený. 2. Snímková frekvence mezi 10 a 20 snímky za sekundu využití při nízkých přenosových rychlostech, rychlý pohyb ve scéně není přirozený. 3. Snímková frekvence 25 nebo 30 snímků za sekundu využití pro standardní televizní vysílání pohyb je přirozený při použití prokládání. 4. Snímková frekvence 50 nebo 60 snímků za sekundu velmi vysoké bitové rychlosti, pohyb je přirozený. 3.1.2 Prokládání Prokládání bylo zavedeno z důvodu plynulosti pohybu ve videu při snímkových frekvencích 25 nebo 30 snímků za sekundu. Využilo se nedokonalosti lidského oka zachytit malé rychlé změny v obraze. Při prokládání je snímek rozdělen na dvě pole (půlsnímky), jeden půlsnímek obsahuje pouze sudé řádky snímku, druhý půlsnímek obsahuje pouze liché řádky pole. Tímto vznikne z 25 (30)) snímků 50 (60) půlsnímků v jedné sekundě. Při těchto rychlostech lidské oko nedokáže postřehnout rozdíl, vnímá video jako plynulé. Video v počítači či záznamových zařízeních je uloženo po celých snímcích, rozdělení na sudý a lichý půlsnímek dochází až při jeho přehrávání. Názvosloví sudý/lichý půlsnímek (pole) má svůj ekvivalent horní/spodní půlsnímek (pole). Digitální video se v současné době vyskytuje téměř na každém kroku. Uživatelé požadují stále vyšší kvalitu přehrávaného videa, což má za následek stále se zvyšující potřebný

40 FEKT Vysokého učení technického v Brně Čas (t) sudý půlsnímek (1 snímek) lichý půlsnímek (1 snímek) sudý půlsnímek (2 snímek) lichý půlsnímek (2 snímek) Obrázek 3.1: Prokládání bitový tok pro distribuci takového obsahu. Pro představu jedna sekunda nekomprimovaného video signálu standardního televizního formátu (720x576 pixelů) zabere cca 32 MB, film o délce 90 minut tedy potřebuje cca 170 GB prostoru. Z těchto důvodů je potřeba velikost digitálního videa redukovat, k čemuž se používají různé kompresní metody. Kompresní metody se neustále vyvíjí a zdokonalují. V současné době existuje celá řada metod, z nichž některé jsou standardizované. K těm patří asi nejrozšířenější rodina protokolů MPEG zaštiťující standardy MPEG-1, MPEG-2, MPEG-4, MPEG-4 AVC, H.265 HEVC. Dále existuje celá řada metod, které jsou vyvinuty konkrétními firmami jako je Microsoft, Google, Apple, Adobe apod. Komprese MPEG je ztrátová, což znamená, že dekódovaná data nejsou identická s originálními. Při kódování se využívá jak prostorová, tak i s časová redundance. Časová redundance je redukovaná využitím podobnosti sousedních snímků. Současný snímek může být predikován z předchozího nebo následujícího snímku (predikce = vytvoření nového co nejpodobnějšího snímku z jiného snímku), který byl již kódován. Při použití predikce je poté kódován pouze rozdíl mezi predikovaným a skutečným snímkem = chyba predikce.

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 41 3.2 Formát MPEG-1 Standard pro kompresi videa MPEG-1 (ISO/IEC 11172, rok 1992) byl navržen pro ukládání videosekvencí na digitální CD médium v kvalitě srovnatelné s kvalitou videa uložených na analogových VHS kazetách (Video Home System). Přenosová rychlost komprimovaného videa je přibližně 1,4 Mb/s. Kompresní standard MPEG-1 byl vyvinut s ohledem na již existující standard JPEG. Parametry vstupního obrazu je možné flexibilně měnit (prostorová rozlišovací schopnost, počet snímků za sekundu, apod.). Typickým obrazovým formátem pro MPEG-1 video v rozlišení CIF. Limitní parametry videa dle standardu MPEG-1 jsou: Počet obrazových bodů v řádku maximálně 720. Počet obrazových bodů v sloupci maximálně 576. Snímková frekvence maximálně 30 snímků/s. Bitová rychlost maximálně 1,856 Mb/s. Technika kódování a dekódování dle MPEG-1 se stala se základním stavebním kamenem pro ostatní standardy, celková koncepce se z velké části využívá i v současně nejmodernějších standardech. Hierarchie a terminologie (obrázek 3.2) 1. Nejvyšší definovanou úrovní v hierarchii MPEG-1 je sekvence snímků určité délky (videoklip). Ta se skládá z částí nazývaných skupiny snímků GOP (Group of Pictures). 2. Skupina snímků GOP je série jednoho nebo více snímků. Typická sekvence u MPEG- 1 se skládá z opakujících se struktur GOP. GOP může obsahovat 3 typy snímků: Snímek I je kódovaný bez jakékoli reference na předchozí nebo budoucí snímek. Snímky I tvoří tzv. přístupové body kódovaného videa pro dekodér. Snímky jsou kódovány obdobným způsobem jako snímky kódované standardem JPEG. Snímek P je prediktivně kódován z předchozího referenčního I nebo P snímku. Sám může být použit jako referenční pro kódování následujícího snímku.

42 FEKT Vysokého učení technického v Brně GOP1 GOP2 GOP3 GOP4... sekvence I B B P B B P B B P B B GOP Cb Cr snímek Y slice makroblok blok Obrázek 3.2: Hierarchie MPEG-1 Snímek B je obousměrně predikovaný. K predikci může využít předchozí, následující nebo oba snímky dohromady. To zvyšuje efektivitu pohybové kompenzace. B snímky však nikdy nemohou být použity jako referenční. Důsledky použití B snímků jsou: (a) Vzhledem k tomu, že B snímek není užívaný jako referenční, může být komprese provedena s nejvyšší možnou účinností bez jakýchkoliv dalších vedlejších účinků. (b) Při přenosu videa datovou sítí mohou být, např. při náhlém přetečení bufferu, snímky B vypuštěny bez jakýchkoliv následků na dekódování ostatních snímků. Snímek D kódovaný intra-frame, kóduje se však pouze DC koeficient. D

Zpracování multimediálních dat pro integrovanou výuku VUT a VŠB-TUO 43 snímky nemají v současnosti uplatnění. 3. Dalším stupněm hierarchie je snímek. 4. Každý snímek se skládá z proužků (slice), který obsahuje libovolný počet makrobloků kódovaných bez jakýchkoliv odkazů na makrobloky v jiném proužku. Maximální velikost proužku je omezena velikostí jednoho snímku. 5. Makroblok obsahuje veškeré informace o pravoúhlé oblasti s velikostí 16x16 pixelů. 6. Makroblok se dále dělí na bloky o velikosti 8x8 pixelů. 7. Nejmenší jednotkou v hierarchii MPEG-1 je pixel. Skupina snímků GOP Typická struktura GOP u standardu MPEG-1 je na obrázku 3.3. Skládá se z kombinace snímků I, P a B. Může se však skládat pouze ze snímků I nebo například z kombinace snímků I a P. GOP I B B P B B P B B P B B 1 2 3 4 5 6 7 8 9 10 11 12 I 13 Pořadí přehrávání/snímání 1 4 2 3 7 5 6 10 8 9 13 11 12 Pořadí kódování Obrázek 3.3: Skupina snímků GOP Každá skupina snímků GOP začíná snímkem I, z čehož plyne, že není potřebná žádná předchozí reference k dekódování. Po snímku I může následovat jeden nebo více snímků B nebo P. První snímek P v GOP je kódován ze snímku I, pro následné snímky P v GOP je referenční předchozí snímek P. Z toho plyne nepříjemná vlastnost. Pokud nastane chyba v některém snímku P, potom se bude šířit dále až nakonec GOP. Pro snímky B je referenční předchozí I nebo P snímek dopředná predikce, nebo následující I nebo P snímek zpětná predikce, nebo oba obousměrná predikce. Snímek B nikdy nemůže být referenčním. V GOP se vyskytuje vždy mezi snímky I, P nebo I, I, nebo P, P.