MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY

Podobné dokumenty
MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY. 8. Uložení a komprese statického bitmapového obrazu

Kosinová transformace 36ACS

Informační systémy ve zdravotnictví

Základy zpracování obrazů

DTP1. Digitální grafický výstup. ernobílé grafické objekty. (příprava textu pomocí počítače) Kapitola 8 / Obrázky a rastrování

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

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

Kompresní algoritmy grafiky. Jan Janoušek F11125

Rastrový obraz, grafické formáty

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

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

Kompresní metody první generace

Transformace obrazu Josef Pelikán KSVI MFF UK Praha

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

TECHNICKÁ UNIVERZITA V LIBERCI

1 Úvod. 2 Pom cky. 3 Postup a výsledky. 3.1 M ení p enosové funkce ve frekven ní oblasti

Základy informatiky I

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

Komprimace grafických dat, formáty počítačové grafiky

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

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

Reprodukce obrazových předloh


DUM 10 téma: Nástroje malování

Počítačová grafika a vizualizace I

DUM 02 téma: Formáty souborů rastrové grafiky

STRUKTURA RASTROVÝCH DAT

PV156 Digitální fotografie Formáty souborů Tomáš Slavíček / Vít Kovalčík FI MU, podzim 2012

Školní kolo soutěže Mladý programátor 2016, kategorie A, B

Měření impedancí v silnoproudých instalacích

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

Analýza oběžného kola

Základní stavební prvky algoritmu

TECHNICKÁ UNIVERZITA V LIBERCI

Analýza a zpracování digitálního obrazu

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

Multimediální systémy

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

GRAFICKÉ FORMÁTY V BITMAPOVÉ GRAFICE

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

Osvětlovací modely v počítačové grafice

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

ZATÍŽENÍ SNĚHEM A VĚTREM

Jasové transformace. Karel Horák. Rozvrh přednášky:

Metoda SPM a ty i fáze po kození valivých lo isek

Ėlektroakustika a televize. TV norma ... Petr Česák, studijní skupina 205

2C Tisk-ePROJEKTY

1 - Prostředí programu WORD 2007

Multimediální systémy

ZÁPADOČESKÁ UNIVERZITA V PLZNI

Vyvažování tuhého rotoru v jedné rovině přístrojem Adash Vibrio

PROGRAM NA PREZENTACI KÓDOVÁNÍ AKUSTICKÝCH SIGNÁLŮ

SIGNÁLY A SOUSTAVY, SIGNÁLY A SYSTÉMY

Specifika digitalizace v muzeích dvourozměrné předlohy. Praha

Konverze grafických rastrových formátů

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ

Základy digitální fotografie

DOPRAVNÍ ZNAČENÍ do 30/2001: změna / doplnění nový název

1. Formáty grafických dat

48. Pro RC oscilátor na obrázku určete hodnotu R tak, aby kmitočet oscilací byl 200Hz

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15

Výzva k podání nabídek (zadávací dokumentace)

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

DUM 14 téma: Kreslení hydraulických schémat

Š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

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: jan.skrbek@tul.cz tel.: Konzultace: úterý

TECHNICKÉ KRESLENÍ A CAD

PRAKTIKUM... Oddělení fyzikálních praktik při Kabinetu výuky obecné fyziky MFF UK. Odevzdal dne: Seznam použité literatury 0 1. Celkem max.

Muzea a digitalizace

1.7. Mechanické kmitání

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

na tyč působit moment síly M, určený ze vztahu (9). Periodu kmitu T tohoto kyvadla lze určit ze vztahu:

Grafické formáty. Grafické formáty. Komprese rastrového obrazu. Proč je tolik formátů pro uložení obrázků?

ÚVOD DO GEOGRAFICKÝCH INFORMA NÍCH SYSTÉM

Fraktální analýza tiskových struktur

Termíny zkoušek Komise Komise. subkomise 1 (obhaj.) :30 B subkomise 2 (obhaj.) :30 B8 120

Měření výkonu zesilovače

Měření základních vlastností OZ

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/

Komutace a) komutace diod b) komutace tyristor Druhy polovodi ových m Usm ova dav

Zadání soutěžních úloh

Katastrální úřad pro Olomoucký kraj Katastrální pracoviště Prostějov

1. LINEÁRNÍ APLIKACE OPERAČNÍCH ZESILOVAČŮ

8. Struktura údaj na LCD displeji

Obvodová ešení rezonan ních m ni

Model dvanáctipulzního usměrňovače

Z OBRAZOVÉHO ZÁZNAMU. Jan HAVLÍK. Katedra teorie obvodů, Fakulta elektrotechnická

Vlastnosti IIR filtrů:

Inteligentní ešení kamerového PC systému

Memoria Mundi Series Bohemica z trezoru na Internet

Průzkum dopravy v ulicích Pod Vinohrady a Havlíčkova

Algoritmizace a programování

VÝZVA K PODÁNÍ NABÍDEK DO VÝBĚROVÉHO ŘÍZENÍ ZADÁVACÍ PODMÍNKY

Část I. Projektová dokumentace Regenerace sídliště Špičák parkoviště ul. Bardějovská:

Operace s obrazem I. Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno. prezentace je součástí projektu FRVŠ č.

městské části Praha 3 pro rok 2016 připravila

Digitální tlakoměr PM 111

Inteligentní zastávky Ústí nad Labem

Marketing. Modul 5 Marketingový plán

Zp soby sledování pohybu zraku

Transkript:

MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY 8. Uložení a komprese statického bitmapového obrazu Petr Lobaz, 3. 4. 218 BITMAPOVÝ OBRAZ P VOD OBRAZOVÝCH DAT (kreslicí) software data typicky p ipravena k p ímé manipulaci a zobrazení obrazový sníma data p edstavují výstup základní OETF (opto-electronic transfer function), k manipulaci a zobrazení je t eba data upravit tzv. raw data p i úprav dochází ke ztrát informace a (úmyslnému) zkreslení uložení raw dat odkládá d ležitá rozhodnutí do postprodukce digitální fotoaparáty a kamery obvykle nabízí data zpracovaná k zobrazení a manipulaci, lepší za ízení pak i p ímé uložení raw dat MHS Uložení a komprese statického bitmapového obrazu 2 / 65 BITMAPOVÝ OBRAZ ULOŽENÍ BITMAPOVÝCH DAT nekomprimovaná typicky v pam ti po íta e bezztrátov komprimovaná maximální kvalita obrazu není zaru en kompresní pom r hardware musí být stejn výkonný jako pro nekomprimovaná data typicky pro po íta ovou grafiku, raw data, uložení pracovních meziverzí obrazu ztrátov komprimovaná snaha o maximální vizuální v rnost p i minimálním datovém toku (maximálním kompresním pom ru) ve statickém obrazu se nej ast ji nastavuje podle požadované kvality, ve videu asto podle datového toku MHS Uložení a komprese statického bitmapového obrazu 3 / 65

BITMAPOVÝ OBRAZ STRUKTURA OBRAZOVÉHO SOUBORU informace o po tu vzork na ší ku/výšku, typ barevného prostoru (RGB, stupn šedi, ), po et bit na pixel detailní informace o barevném prostoru (ICC barevný profil) návod, jak transformovat obrazová data do platformn nezávislého barevného prostoru (CIELAB nebo CIEXYZ) informace o obrazu samotném typ fotoaparátu, expozi ní parametry, datum po ízení, apod. typicky ve formátu EXIF (Exchangeable Image File Format) slovní popis, klí ová slova apod. typicky ve formátu IPTC (International Press Telecommunications Council) samotná obrazová data MHS Uložení a komprese statického bitmapového obrazu 4 / 65 BITMAPOVÝ OBRAZ ne všechny položky jsou nutné tzv. obrazový formát definuje zp sob uložení informace n které formáty t sn spjaté s konkrétním zp sobem uložení obrazových dat (nap. typem komprese), nap., PNG, GIF n které formáty obecn jší, podporují mnoho zp sob uložení obrazových dat, nap. TIFF ve speciálním p ípad obsahuje soubor pouze obrazová data, pokud jsou parametry pro dekódování z ejmé z kontextu (nap. soubory YUV ve zpracování videa) n kdy se takovým soubor m íká raw nesouvisí s raw daty z obrazového sníma e, v dalším nebudeme tento význam používat! MHS Uložení a komprese statického bitmapového obrazu 5 / 65 ZPRACOVÁNÍ RAW ZPRACOVÁNÍ DAT Z OBRAZOVÉHO SNÍMA E obrazové sníma e typicky obsahují elementy citlivé na energii dopadajícího sv tla (nezávisí na vlnové délce sv tla) spektrální citlivost nej ast ji za ízena Bayerovou maskou R G R G R G n které elementy mají p ed sebou G B G B G B ervený, jiné zelený, jiné modrý filtr R G R G R G snímají jen R, G, B ást spektra G B G B G B pro zobrazení je t eba v každém R G R G R G elementu (pixelu) dopo ítat zbývající Bayerova maska složky (demosaicking) MHS Uložení a komprese statického bitmapového obrazu 6 / 65

ZPRACOVÁNÍ RAW DEMOSAICKING odhaduje chyb jící složky pixelu vždy je zatížen chybou p íklad: snímání rozhraní bílá (složky RGB = ) a erná (složky RGB = ) Bayerova maska snímaný obraz zaznamenané energie R, G, B (maximum nebo nula) demosaicking odhad RGB energií interpolované energie R, G, B MHS Uložení a komprese statického bitmapového obrazu 7 / 65 ZPRACOVÁNÍ RAW 75 5 5 5 5 25 75 5 5 5 5 25 75 5 5 zaznamenané RGB složky spektra ( zna í kv li Bayerov masce nezjišt no ) interpolované RGB složky spektra jednoduchou (bi)lineární interpolací z okolí MHS Uložení a komprese statického bitmapového obrazu 8 / 65 ZPRACOVÁNÍ RAW p i demosaickingu typicky poškozena informace o barevném odstínu náprava odstran ní vysokofrekven ní složky signálu, která k podobným vadám vede rozost ení obrazu algoritmus demosaickingu je kompromisem mezi ostrostí a artefakty MHS Uložení a komprese statického bitmapového obrazu 9 / 65

ZPRACOVÁNÍ RAW LINEARIZACE, REDUKCE ŠUMU ode tení složky odpovídající tepelnému šumu kv li chybám ve výrob sníma e nereagují všechny pixely stejn jejich reakce se ale dá zm it a nedokonalosti kompenzovat MATRIXING tvorba lineární kombinace R M, G M, B M z interpolovaných složek R, G, B aproximace color matching functions úpravou lineární kombinace se dosáhne stavu, kdy je pro jisté spektrum sv tla výstup R M, G M, B M stejný vyvážení bílé (white balance) MHS Uložení a komprese statického bitmapového obrazu 1 / 65 ZPRACOVÁNÍ RAW DALŠÍ ÚPRAVY SIGNÁLU nelineární úprava barvy typicky založeno na vyhledávací tabulce (LUT look-up table) simulace senzitometrické charakteristiky složky R M G M B M (v grafu svislá osa obecná složka S) lineárn závisí na vstupním jasu extrémní sv tla a stíny jsou o íznuty výhodn jší je jejich áste né zachování pomocí nelineárního kódování sv tlých a tmavých jas doost ení kompenzace nenulové plochy snímacího pixelu S S max H log 1 H max 3 2 1 dynamický rozsah :1 (cca 6,6 EV) S max H log 1 H max 3 2 1 dynamický rozsah :1 (cca 1 EV) S MHS Uložení a komprese statického bitmapového obrazu 11 / 65 ZPRACOVÁNÍ RAW GAMA KÓDOVÁNÍ aplikace vhodné p enosové funkce (viz OETF, p ednáška 8) kvantizace na požadovaný po et bit m že být dopln no p evodem na Y C B C R, chroma subsamplingem apod. raw data obsahují pouze kvantizovaný (typicky na 12 14 bit ) výstup ze zníma e obvykle jsou raw formáty (CR2 Canon, NEF Nikon apod.) t sn spjaté s konkrétní kamerou formát DNG (Digital Negative) platformov nezávislý standard pro uložení raw snímk MHS Uložení a komprese statického bitmapového obrazu 12 / 65

KOMPRESE OBRAZU BEZZTRÁTOVÁ KOMPRESE run length encoding (RLE) entropické kódování Huffmanovo kódování a jiná kódování s prom nnou délkou kódového slova (variable length coding VLC) aritmetické kódování slovníkové metody LZ77, LZW ZTRÁTOVÁ KOMPRESE obvykle fourierovská transformace nebo waveletová transformace následovaná kvantizací fraktálová komprese, triangulariza ní p ístupy, v praxi se zatím nepoužívají MHS Uložení a komprese statického bitmapového obrazu 13 / 65 BEZZTRÁTOVÁ KOMPRESE RUN LENGTH ENCODING (RLE) de facto jen dekorelace signálu redukce opakujících se prvk, nap. AAAABBA 4A2B1A prvkem mohou být bity, byty nebo pixely pr chod pixely po ádcích nebo po blocích (r zné zp soby) snaha vytvo it co nejdelší sekvence opakujících se hodnot varianty pro lepší kompresní pom r, pro speciální použití (nap. kódování delších sekvencí nul) pr chod po ádcích standardní pr chod po blocích zig-zag pr chod po blocích MHS Uložení a komprese statického bitmapového obrazu 14 / 65 BEZZTRÁTOVÁ KOMPRESE LZW, LZ77 APOD. nahrazení známé sekvence znak kódem adaptivní b hem kódování se vytvá í slovník známých sekvencí, b hem dekódování jej dekodér rekonstruuje a používá efektivní, když se dá výskyt opakujících se sekvencí ekat prakticky jen po íta ová grafika s malým po tem barev (typicky max. 256) LZW: patentovaná technologie (dnes už patent vypršel) první k iklavý p ípad zvláštního nakládání s licencí formát GIF je pln založený na LZW; až poté, co se masov rozší il, za al vlastník patentu požadovat licen ní poplatky (reakce: formát PNG založený na obdob LZW) MHS Uložení a komprese statického bitmapového obrazu 15 / 65

BEZZTRÁTOVÁ KOMPRESE ARITMETICKÉ KÓDOVÁNÍ p i azuje jeden kód celé zpráv (skupin znak ) jeden znak m že zabírat necelý po et bit praktické implementace jsou patentované p íklad: zpráva AAAB EOF (znak EOF = konec zprávy) pravd podobnosti znak : p A = 3/5 p B = 1/5 p EOF = 1/5 ; 1 ) A ; 3 5 AA ; 9 25 AAA 27 ; 125 AAAB 18 625 81 625 AAAB 513 54 3125 3125 AAAB 111 A B EOF A B EOF A B EOF,11 ;,1111 ) 1 MHS Uložení a komprese statického bitmapového obrazu 16 / 65 ARITMETICKÉ KÓDOVÁNÍ ísla p i vyjád ena zlomky P 1 /T, P 2 /T,, T = i P i P i a T celá ísla s omezenou bitovou hloubkou v každém okamžiku kódování je pravd podobnost zprávy v intervalu LO, HI), ísla LO, HI s omezenou bit. hloubkou jakmile je interval dostate n malý je z ejmé, jaký bude první bit kódované zprávy lze jej odeslat na výstup hodnoty LO, HI jsou si blízké, ili nejvýznamn jší bity spolu úzce souvisí (mohou být i stejné) není t eba je uchovávat hodnoty LO, HI je možné p enásobit (normalizace intervalu zp soby E 1, E 2, E 3 ) omezení po tu bit nutných k uchování LO, HI MHS Uložení a komprese statického bitmapového obrazu 17 / 65 ARITMETICKÉ KÓDOVÁNÍ Normalizace typu E 1, E 2, E 3 m že prob hnout, pokud HI LO < 1/2 (interval je dostate n krátký) E 1 prob hne, pokud HI < 1/2 LO první bit bude LO := LO 2; HI := HI 2 E 2 prob hne, pokud LO > 1/2 první bit bude 1 LO := LO 2 1; HI := HI 2 1 E 3 prob hne, pokud 1/4 < LO < HI < 3/4 hodnotu výstupního bitu sice neznáme, ale jakmile asem prob hne E 1 nebo E 2, tj. na výstup odešleme bit x, bude další bit ur it negace(x) LO := LO 2 1/2; HI := HI 2 1/2 LO HI HI MHS Uložení a komprese statického bitmapového obrazu 18 / 65

ARITMETICKÉ KÓDOVÁNÍ KOMPRESE LO ; HI 1; E 3 bit ; A vstup(); /* EOF vn jší smy ka už se nevrátí */ zkra LO, HI podle pravd podobnosti A lze provést E 1? E 1 ; výstup(); E 3 bit výstup(1); E 3 bit ; lze provést E 2? E 2 ; výstup(1); E 3 bit výstup(); E 3 bit ; lze provést E 3? E 3 ; E 3 bit E 3 bit + 1; výstup bit pro výsledný interval a zbylých E 3 bit MHS Uložení a komprese statického bitmapového obrazu 19 / 65 ARITMETICKÉ KÓDOVÁNÍ DEKOMPRESE LO ; HI 1; do C na ti maximum bit (nap. 31) ( p ipojím-li /1, pat í C stále stejnému znaku A) výstup(a) zkra LO, HI podle pravd podobnosti A: lze provést E 1? E 1 ; C C*2 + vstup() lze provést E 2? E 2 ; nuluj nejvyšší bit C; C C*2 + vstup() lze provést E 3? E 3 ; nuluj druhý nejvyšší bit C; C C*2 + vstup() MHS Uložení a komprese statického bitmapového obrazu 2 / 65 ARITMETICKÉ KÓDOVÁNÍ DALŠÍ VLASTNOSTI výpo et odhadu pravd podobnosti znaku lze po každém znaku adaptovat po každém znaku lze m nit vstupní abecedu v sou asnosti nejpoužívan jší algoritmus: CABAC (Content Adaptive Binary Arithmetic Coding) výsledný interval lze kódovat i v jiné než dvojkové soustav šlo by použít nap. pro kódování dlouhých URL adres s mnoha parametry tvorba krátkých URL (ale v praxi se to d lá jinak) MHS Uložení a komprese statického bitmapového obrazu 21 / 65

DCT DISKRÉTNÍ KOSINOVÁ TRANSFORMACE pro p ipomenutí: signál x[], x[1],, x[n 1] p evedeme do frekven ní podoby diskrétní Fourierovou transformací: j= x[j] exp( i2 jk N ) X[k] = 1 N 1 N de facto odpovídá stavu, kdy je signál x[] periodický s periodou N a zkoumáme jen jednu jeho periodu po vzorku x[n 1] de facto následuje vzorek x[] mezi vzorky x[n 1] a x[] se dá o ekávat skok tento skok se projevuje zvýšením amplitud vysokých frekvencí pro uchování kvalitní podoby x[] nesmíme kompresí p íliš poškodit vysoké frekvence nevýhodné MHS Uložení a komprese statického bitmapového obrazu 22 / 65 DCT diskrétní Fourierovu transformaci m žeme zapsat i bez komplexních ísel; inverzní transformace: N/2 x[j] = a C [k] cos(2 jk k= N ) + a S [k] sin(2 jk N ) koeficienty a C [k] jsou dány dop ednou transformací: a C [k] = a C [] pro k = a C [N/2] pro k = N / 2 2a C [k] jinak j= x[j] cos(2 jk N ) kde a C [k] = 1 N 1 N koeficienty a S [k] jsou dány obdobným vztahem, ve výpo tu a S [k] figuruje funkce sin() MHS Uložení a komprese statického bitmapového obrazu 23 / 65 DCT ud lejme ze signálu x[] délky N signál y[] délky 2N: x[], x[1],, x[n 1], x[n 1], x[n 2],, x[1], x[] a posu me jej o 1/2 vzorkovací vzdálenosti doprava x[] oto ené x[] periodické rozší ení periodicky rozší ený signál y[] je sudý v jeho reálné DFT nemohou figurovat funkce sinus výstupem reálné DFT je N koeficient a C (všechny a S = ) diskrétní kosinová transformace (DCT) signálu x[] existuje více zp sob, jak sudé periodické rozší ení ud lat existuje více typ DCT MHS Uložení a komprese statického bitmapového obrazu 24 / 65

DCT DVOUROZM RNÁ DCT aplikace DCT na všechny sloupce, pak na všechny ádky výsledku dá se p epsat do jediného vztahu, nap. pro vstupní signál s[i, j] je DCT rovna S[u, v]: 2 2 S[u, v] = M N c c u v M 1 N 1 i= s[i, j] cos( (2i+1)u j= 2N ) cos( (2j+1)v 2N ) kde c u = 1/ 2 pro u = 1 jinak c v = 1/ 2 pro v = 1 jinak MHS Uložení a komprese statického bitmapového obrazu 25 / 65 DCT IDCT je v tomto p ípad rovna: 2 2 s[i, j] = M N M 1 N 1 u= c u c v S[u, v] cos( (2i+1)u v= 2N ) cos( (2j+1)v 2N ) kde c u = 1/ 2 pro u = 1 jinak c v = 1/ 2 pro v = 1 jinak obdobn se dá ud lat vícerozm rná DCT, resp. DFT pro výpo et DCT se dá využít rychlý algoritmus FFT MHS Uložení a komprese statického bitmapového obrazu 26 / 65 správný název JFIF = File Interchange Format = Joint Photographic Experts Group ztrátový kodér obrazu zam ený na fotografie obrázek typicky desítky kilopixel a více obrázek obsahuje p edevším hladké p echody a minimum ostrých hran obrázek obsahuje mírný šum p vodní standard definován pro šedotónové a RGB obrázky, 8bitová kvantizace, gama kódování pro typický RGB obrázek o ekávaný kompresní pom r cca 1 : 1 až 1 : 2 (cca 1 2 bity/pixel) pro vizuáln bezztrátovou kompresi kompresní pom r je vždy nutné hodnotit v souvislosti s kvalitou obrazu MHS Uložení a komprese statického bitmapového obrazu 27 / 65

PR B H KOMPRESE p evod RGB Y C B C R chroma subsampling; dále práce s kanály Y C B C R nezávislá chroma subsampling je velmi mírná ztrátová komprese rozd lení na bloky 8 8 vzork (velikost kompromis mezi výpo etní náro ností a efektivitou komprese) aplikace DCT na blok kvantizace ( zaokrouhlení ) výsledku DCT jediný významný ztrátový krok volbou kvantiza ní tabulky je možné ovliv ovat kvalitu výsledku, resp. kompresní pom r p evod 8 8 koeficient zig-zag pr chodem na posloupnost 64 koeficient speciální RLE kódování + entropické kódování MHS Uložení a komprese statického bitmapového obrazu 28 / 65 p vodní obrázek obrázek po kvantizaci výsledku DCT a dekompresi (dekvantizaci a IDCT) šipka ukazuje typické artefakty ztráta detail, rozpad do blok 88 pixel MHS Uložení a komprese statického bitmapového obrazu 29 / 65 blok z p vodního obrázku (na minulém snímku vyzna en tvere kem) blok po kvantizaci DCT koeficient a následné dekompresi malé hodnoty velké hodnoty 1 2 3 4 5 6 7 8 2 4 6 8 1 12 14 16 3 6 9 12 15 18 21 24 4 8 12 16 2 24 28 32 5 1 15 2 25 3 35 4 6 12 18 24 3 36 42 48 7 14 21 28 35 42 49 56 8 16 24 32 4 48 56 64 tabulka kvantiza ních koeficient ilustrativní reálná 16 11 1 16 24 4 51 61 12 12 14 19 26 58 6 55 14 13 16 24 4 57 69 56 14 17 22 29 51 87 8 62 18 22 37 56 68 19 13 77 24 35 55 64 81 14 113 92 49 64 78 87 13 121 12 11 72 92 95 98 112 13 99 MHS Uložení a komprese statického bitmapového obrazu 3 / 65

31 46 62 88 97 95 92 82 83 18 98 126 158 111 97 9 13 131 124 116 151 144 14 14 136 144 133 127 134 151 133 134 191 216 196 148 136 148 143 117 139 23 216 24 237 147 17 65 122 118 176 255 255 161 58 21 141 122 131 172 166 99 29 3 128.3 19.57-34.22 5.22 2.76-5.36-2.64.35-23.72-38.1 3.56-2.97-8.2-2.8 -.62.16-3.4-3.4-22.22 4.72 13.45 2.99 -.53.13 9.86 1.54-8.32-7.19-3.15 2.54-4.25 1.23-11.6-2.46 26.32 -.27-6.22 4.87 3.2-2.16-3.22-12.21-12.13 2.29 4.46 2.22 4.11-1.82-2.65 1.89 1.9-3.3-4.19-2.38-1.4.47 -.1 1.91 3.35 1.91-3.33.89 3.91 -.19 blok z p vodního obrázku (stejný jako na minulém snímku) jeho DCT koeficienty (tj. výsledek DCT; normaliza ní konstanta v definici DCT) je pro p ehlednost volena tak, aby prvek na pozici [,], tj. v levém horním rohu, vyšel roven aritmetickému pr m ru hodnot bloku) MHS Uložení a komprese statického bitmapového obrazu 31 / 65 128.3 19.57-34.22 5.22 2.76-5.36-2.64.35-23.72-38.1 3.56-2.97-8.2-2.8 -.62.16-3.4-3.4-22.22 4.72 13.45 2.99 -.53.13 9.86 1.54-8.32-7.19-3.15 2.54-4.25 1.23-11.6-2.46 26.32 -.27-6.22 4.87 3.2-2.16-3.22-12.21-12.13 2.29 4.46 2.22 4.11-1.82-2.65 1.89 1.9-3.3-4.19-2.38-1.4.47 -.1 1.91 3.35 1.91-3.33.89 3.91 -.19 128. 2. -33. 4. 5. -6... -24. -4. 3.. -1.... -3. -6. -18.. 15.... 8.. -12...... -1.. 3...... -6. -12. -18...................... DCT koeficienty bloku (pro p ehlednost opsáno z minulého snímku) DCT koeficienty po kvantizaci pomocí ilustrativní kvantiza ní tabulky (pro názornost jsou ísla dekvantizována, tj. vynásobena kvantiza ními koeficienty; nap. prvek 34,22 na pozici [3,1] je kvantizován na round( 34,22 / 3) = 11, po dekvantizaci 11 3 = 33) MHS Uložení a komprese statického bitmapového obrazu 32 / 65 bázové funkce 2D DCT pro M = N = 8 blok kvantizované DCT koeficienty 128 2-33 4 5-6 -24-4 3-1 -3-6 -18 15 8-12 -1 3-6 -12-18 MHS Uložení a komprese statického bitmapového obrazu 33 / 65

31 46 62 88 97 95 92 82 83 18 98 126 158 111 97 9 13 131 124 116 151 144 14 14 136 144 133 127 134 151 133 134 191 216 196 148 136 148 143 117 139 23 216 24 237 147 17 65 122 118 176 255 255 161 58 21 141 122 131 172 166 99 29 3 blok z p vodního obrázku 31 38 51 83 11 96 8 92 91 12 15 116 132 119 98 98 96 123 13 132 148 143 116 11 136 154 14 118 13 142 131 121 27 211 183 152 149 145 129 122 151 181 214 24 237 172 93 59 93 122 183 251 25 149 47 16 157 133 136 173 164 79 23 39 blok po kvantizaci DCT koeficient a následné dekompresi (dekomprese = dekvantizace, tj. vynásobení kvantiza ními koeficienty, a IDCT) MHS Uložení a komprese statického bitmapového obrazu 34 / 65 KÓDOVÁNÍ AC KOEFICIENT tj. kódování koeficient vyjma koeficientu na pozici [,] kódování pomocí sekvence bit <zzzz><kkkk><bb b> kkkk 4bitové íslo udávající kategorii koeficientu (a tím pádem po et bit b) 1 = { 1, 1} 2 = { 3, 2, 2, 3} 3 = { 7 4, 4 7} 4 = { 15 8, 8 15} 5 = { 31 16, 16 31} zzzz po et nulových koeficient p ed kódovaným b bity pro p esnou hodnotu koeficientu speciální kódy: <zzzz><kkkk> = 1111 16 nul za sebou <zzzz><kkkk> = do konce sekvence následují jen nuly (tzv. kód EOB = end of block) MHS Uložení a komprese statického bitmapového obrazu 35 / 65 P ÍKLAD KÓDOVÁNÍ AC KOEFICIENT zig-zag pr chod: 128 1-11 1 1-1 -12-1 5-1 1, 12, 1, 1, 11, -1-1 -2 1 1, 5, 1, 2, 2,, 2,, 1, 2-1 1, 1,, 1,, 1,, 1, -2 2-1 -1-1 2,, 1,,,,,,,, 1,,,, kvantizované koeficienty DCT kódy n kterých AC koeficient 1 1 (kategorie 4, 1 8 = 2) 12 111 (kategorie 4, 12 + 8 + 15 = 11) 5 11 1 p evod na dvojkový dopln k (kategorie 3, 5 4 = 1) 2 1 1 11 ofset pro kategorii 3 (kategorie 2, 2 + 2 + 3 = 3) MHS Uložení a komprese statického bitmapového obrazu 36 / 65

POSLEDNÍ KROKY KÓDOVÁNÍ v kódech AC koeficient se dá p edpokládat, že sekvence <zzzz><kkkk> se budou vyskytovat s r znou pravd podobností nezapisují se na výstup p ímo, ale ješt se na n aplikuje Huffmanovo nebo aritmetické kódování DC koeficienty (koeficienty na pozici [,] v DCT každého bloku) p edstavují pr m rnou hodnotu bloku dá se o ekávat, že u sousedních blok budou podobné kódují se technikou DPCM (tj. ukládá se jen rozdíl oproti p edchozímu) MHS Uložení a komprese statického bitmapového obrazu 37 / 65 komprese je z principu ztrátová pro bezztrátový b h by bylo nutné uložit koeficienty DCT p esn existuje bezztrátová varianta, která nepoužívá DCT, ale predik ní schéma; v praxi se p íliš nepoužívá existuje i schéma ur ené pro obrázky s 1 bitem/pixel n kdy ozna ováno JBIG (Joint Bi-level Image experts Group) založeno na aritmetickém kódování v praxi se asto využívá pro kompresi proudu bit v raw formátech MHS Uložení a komprese statického bitmapového obrazu 38 / 65 DWT DISKRÉTNÍ WAVELETOVÁ TRANSFORMACE zásadní nevýhoda DCT a obdobných transformací nutnost volit velikost bloku (v 8 8) p íliš velký blok kvantizace DCT koeficient vede ke globálnímu poškození celého bloku je-li blok jen lokáln lenitý, dotkne se kvantizace i jeho hladkých ástí p íliš malý blok neefektivní dekorelace v hladkých plochách obrazu špatný kompresní pom r možnosti nápravy kodér si velikost bloku odhaduje podle charakteru obrazu kodér založen na diskrétní waveletové transformaci, která d lení na bloky nevyžaduje MHS Uložení a komprese statického bitmapového obrazu 39 / 65

DWT vychází ze spojité waveletové transformace, pro kompresi obrazu se používá její speciální formulace nebudeme se spojitou variantou v bec zabývat princip podobný hierarchickému sub-band kódování rozd lení signálu na vysokofrekven ní a nízkofrekven ní ást podvzorkování obou ástí na polovinu vzork aplikace téhož postupu na nízkofrekven ní ást (v hierarchickém sub-band kódování se aplikuje i na vysokofrekven ní ást) koeficienty DWT = souhrn koncových výstup :2 :2 :2 :2 :2 :2 :2 :2 MHS Uložení a komprese statického bitmapového obrazu 4 / 65 DWT DOP EDNÁ DWT vstup: signál x[] aplikace FIR filtru g (dolní propust) na x[] podvzorkování = vynechání lichých vzork ( íslují se od ) výsledek: signál a 1 [] aplikace FIR filtru h (horní propust) na x[] podvzorkování výsledek: signál b 1 [] aplikace téhož postupu na a 1 [] výstup a 2 [], b 2 []; atd. výstup DWT: signály b 1 [], b 2 [],, b N [] a signál a N [] x g :2 a 1 a 2 g :2 g :2 an h :2 b 1 h :2 b 2 h :2 b N MHS Uložení a komprese statického bitmapového obrazu 41 / 65 DWT ZP TNÁ DWT opa ný postup k dop edné DWT vstup: signály a k [], b k [] zdvojnásobit po et vzork signálu a k [] vložením nul: a k [2i] = a k [i], a k [2i+1] = zdvojnásobit po et vzork signálu b k [] vložením nul aplikace FIR filtru g na a k [] signál A k [] aplikace FIR filtru h na b k [i] signál B k [] vytvo ení signálu a k 1 []: a k 1 [i] = A k [i] + B k [i] pokra ování postupu na a k 1 [], b k 1 [] koncový výsledek a [] je roven p vodnímu signálu x[] MHS Uložení a komprese statického bitmapového obrazu 42 / 65

DWT P ÍKLAD g = [½; ½] h = [½; ½] g = [1; 1] h = [ 1; 1] jeden krok dop edné DWT jeden krok zp tné DWT signál x 16 8 32 8 4 4 8 aplikace g x g 8 12 2 2 6 4 6 4 a 1 8 2 6 6 x h 8 4 12 12 2 2 4 b 1 8 12 2 2 a 1 8 2 6 6 aplikace g A 1 8 8 2 2 6 6 6 6 b 1 8 12 2 2 B 1 8 8 12 12 2 2 2 2 A 1 + B 1 16 8 32 8 4 4 8 poloha podtržení zna í, z kterých vzork vstupního signálu se má vytvo it vzorek výstupního signálu výsledek zp tné transformace: rekonstrukce signálu x MHS Uložení a komprese statického bitmapového obrazu 43 / 65 DWT P ÍKLADY FILTR filtr m g, h se íká analyza ní, filtr m g, h syntetiza ní Haarovy ortonormální filtry: g = [ 1, 1 ] h = [ 1, 1 ] g = [ 1, 1 ] h = [ 1, 1 ] 2 2 2 2 2 2 2 2 Daubechies-4 ortonormální filtry: g = [,483;,837;,224;,129] h = [,129;,224;,837;,483] g = [,129;,224;,837;,483] h = [,483;,837;,224;,129] ortogonální/ortonormální filtry: koeficienty filtr stejné, liší se znaménky a po adím biortogonální filtry liší se koeficienty nebo i délkou MHS Uložení a komprese statického bitmapového obrazu 44 / 65 DWT podobn jako v teorii FIR filtr platí: filtr dlouhý m že lépe odd lit vysoké a nízké frekvence (to je dob e) h e lokalizuje detaily v signálu (to je spíš špatn ) délka filtr tedy plyne z kompromisu výhoda DWT: k signálu lze vyhledat vhodný tvar a délku filtr (naproti tomu u DFT, DCT apod. jsou bázové funkce sinus a kosinus pevn dané) MHS Uložení a komprese statického bitmapového obrazu 45 / 65

DWT DVOJROZM RNÁ DWT jeden krok dop edné DWT na všechny ádky, uložení výsledných nízko- (L) a vysokofrekven ních (H) signál za sebe jeden krok dop edné DWT na všechny sloupce výsledku, uložení výsledných nízko- a vysokofrekven ních signál pod sebe sloupce vzniklé z ásti L: LL, LH sloupce vzniklé z ásti H: HL, HH aplikace stejného postupu na 2D signál LL algoritmická složitost: O(N), kde N je délka ádky, resp. sloupce (pozn.: složitost DCT je O(N log N)) výsledek 4 krok 2D DWT L H L H LL HL HL HH MHS Uložení a komprese statického bitmapového obrazu 46 / 65 DWT p vodní obrázek 2D DWT, Haarova báze Aplikace 8 krok DWT na vstupní obrázek 256 256 pixel. Koeficienty HL pásem ukazují, kde m l p vodní obrázek výrazné svislé hrany (H signál po DWT ádky výrazný), koeficienty LH pásem ukazují, kde m l výrazné vodorovné hrany (H signál po DWT sloupc výrazný). MHS Uložení a komprese statického bitmapového obrazu 47 / 65 DWT 2D DWT, báze Daubechies4 2D DWT, Haarova báze Rozdíl mezi r znými typy analyza ních filtr. Z eteln je vid t, že Daubechies4 filtry signál dekorelují lépe v rozkladu Haarovými filtry je v pásmech HL, LH stále vid t podoba p vodního obrázku (tj. dekorelace není moc dobrá). MHS Uložení a komprese statického bitmapového obrazu 48 / 65

DWT KOMPRESE komprese obrazu pomocí DWT založena na podobném principu jako komprese pomocí DCT: transformace obrazu kvantizace koeficient kódované uložení kvantizovaných koeficient varianta 1: pro všechny koeficienty daného frekven ního pásma kvantizace stejná snadná implementace koeficienty v daném frekven ním pásmu mají velké i malé hodnoty neexistuje univerzální ideální nastavení kvantizace nep íliš kvalitní výsledek, resp. kompresní pom r MHS Uložení a komprese statického bitmapového obrazu 49 / 65 DWT KOMPRESE Haarova báze, 1/64 koeficient kvantizována s velkou p esností, zbytek s p esností bit (tj. koeficient byl vyhozen, indikace šedou barvou) Haarova báze, rekonstrukce z 1/64 celkového množství p vodních koeficient (zachovány koeficienty v pásmech nejnižších frekvencí) MHS Uložení a komprese statického bitmapového obrazu 5 / 65 DWT KOMPRESE varianta 2: nejv tší koeficienty kódovány nejv tším po tem bit vede k výrazn lepším výsledk m rekonstrukce, pokud koeficienty zaberou stejné množství bit jako u varianty 1 problém: je t eba uložit informaci, kolik bit každý koeficient zabírá zhoršení kompresního pom ru ukazuje se, že uložení informace o po tu bit každého koeficientu zabírá víc místa než samotné koeficienty MHS Uložení a komprese statického bitmapového obrazu 51 / 65

DWT KOMPRESE Haarova báze, 1/64 nejv tších koeficient kvantizována s velkou p esností, zbytek s p esností bit (tj. koeficient byl vyhozen, indikace šedou barvou) Haarova báze, rekonstrukce z 1/64 celkového množství p vodních koeficient (zachovány koeficienty s nejv tší absolutní hodnotou) MHS Uložení a komprese statického bitmapového obrazu 52 / 65 DWT KOMPRESE Haarova báze, rekonstrukce z 1/64 celkového množství p vodních koeficient (zachovány koeficienty v pásmech nejnižších frekvencí, viz snímek 49) Haarova báze, rekonstrukce z 1/64 celkového množství p vodních koeficient (zachovány koeficienty s nejv tší absolutní hodnotou, viz snímek 51) MHS Uložení a komprese statického bitmapového obrazu 53 / 65 DWT KOMPRESE Daubechies-4 báze, rekonstrukce z 1/64 celkového množství p vodních koeficient (zachovány koeficienty v pásmech nejnižších frekvencí) Daubechies-4 báze, rekonstrukce z 1/64 celkového množství p vodních koeficient (zachovány koeficienty s nejv tší absolutní hodnotou) MHS Uložení a komprese statického bitmapového obrazu 54 / 65

DWT KOMPRESE Haarova báze, rekonstrukce z 1/16 celkového množství p vodních koeficient (zachovány koeficienty s nejv tší absolutní hodnotou) Daubechies-4 báze, rekonstrukce z 1/16 celkového množství p vodních koeficient (zachovány koeficienty s nejv tší absolutní hodnotou) MHS Uložení a komprese statického bitmapového obrazu 55 / 65 EZW KOMPRESE EMBEDDED ZEROTREE WAVELET vtipné ešení problému ukládání mapy koeficient, tj. bitové délky jednotlivých koeficient žádná mapa se neukládá (jistá podobnost: slovníkové komprese typu LZW také žádný slovník neukládají) koeficienty se neukládají jeden za druhým, ale všechny najednou první kompresní schéma založené na DWT, které m že konkurovat technikám založeným na DCT principy EZW jsou dále rozvinuty ve schématech SPIHT nebo 2 EZW je nejjednodušší a pro výklad principu asi nejvýhodn jší MHS Uložení a komprese statického bitmapového obrazu 56 / 65 EZW KOMPRESE PRINCIP dominantní pr chod: uložení informace, které koeficienty jsou významné (absolutní hodnota v tší než práh T) zásadní trik: je-li koeficient nevýznamný, pak jsou nejspíš nevýznamné koeficienty v p íslušných ástech vysokofrekven ních pásem kód koeficientu K: POS pro K > T NEG pro K > T ZTR pro K T a navíc všichni následníci jsou nevýznamní (zerotree) IZ nevýznamný koeficient tyto koeficienty jsou nejspíš také nevýznamné (zerotree) v ostatních p ípadech (isolated zero) MHS Uložení a komprese statického bitmapového obrazu 57 / 65

EZW KOMPRESE vedlejší pr chod: uložení nejvýznamn jšího bitu významných koeficient metodou postupných aproximací snížení prahu T na polovinu další iterace dominantního pr chodu: doplní informaci, které koeficienty za aly být významné na nové hodnot T další iterace vedlejšího pr chodu: doplní další bit koeficient m, které byly dosud ozna eny za významné snížení prahu T na polovinu atd. algoritmus lze kdykoliv ukon it (typicky po dosažení požadované délky souboru) dosud vygenerovaný výstup poskytuje nejlepší aproximaci o koeficientech DWT výhoda: p esné ízení kompresního pom ru MHS Uložení a komprese statického bitmapového obrazu 58 / 65 EZW KOMPRESE METODA POSTUPNÝCH APROXIMACÍ postupné kódování reálného ísla K z rozsahu [, M) princip: chceme-li K kódovat jedním bitem, budeme bit interpretovat jako hodnotu M/4, bit 1 jako hodnotu 3M/4 maximální chyba aproximace je M/4 chceme-li K kódovat 2 bity max. chyba aproximace M/8 p íklad: M = 5, K = 42 25, 1 37,5 12,5 37,5 interpretace výstupní 1 43,75 maximální chyba 6,25 práh T dosavadního dosavadního výstupu 43,75 bit výstupu 4,625 (absolutní hodnota) 3,125 4,625 1 42,1875 1,5625 obecn : íslo K reprezentujeme N bity íslem a = floor(k / M 2 N ), interpretujeme íslem K = (a +,5) M / 2 N, max. chyba je,5 M / 2 N MHS Uložení a komprese statického bitmapového obrazu 59 / 65 EZW KOMPRESE P ÍKLAD B HU 63-51 1 8 4 6 5 6 18 44 49 2 8 9 3 3 6 2 2 5 7 5 7 2 15 12 9 19 8 2 8 5 4 6 2 3 2 1 9 6 1 1 1 1 1 3 8 1 12 3 2 1 16 18 6 2 1 2 3 3 DWT koeficienty. Prochází se jimi postupn p es pásma LL, HL, LH, HH, každé pásmo ádku po ádce. První b h: M = 64, T = 32 Dominantní pr b h Vedlejší pr b h koeficient výstup práh výstup interpretace 63 POS 48 1 56 51 NEG 48 1 56 18 ZTR 44 POS 48 4 1 IZ 8 ZTR 49 POS 48 1 56 2 ZTR 2 ZTR 5 ZTR 9 ZTR 19 ZTR nevýz namný koeficient, pod ízené koeficienty rovn ž mohou se z pr chodu vynechat MHS Uložení a komprese statického bitmapového obrazu 6 / 65

EZW KOMPRESE výstup dominantního pr b hu dále kódován aritmetickým kodérem (vstupní abeceda POS, NEG, IZ, ZTR pro v tšinu pásem, jen pásma s nejvyššími frekvencemi nemohou obsahovat kód IZ, protože neexistují pod ízené koeficienty) výstup vedlejšího pr b hu rovn ž kódován aritmetickým kodérem (vstupní abeceda, 1) každý bit výstupu zlepšuje kvalitu obrazu, kódování/ dekódování lze kdykoliv ukon it další výhoda: použitím vhodných analyza ních/ syntetiza ních filtr a dostate n dlouhým kódováním lze docílit bezztrátové komprese MHS Uložení a komprese statického bitmapového obrazu 61 / 65 DALŠÍ TECHNIKY DALŠÍ TECHNIKY V KOMPRESI OBRAZU sou asné trendy: využívání algoritm kódování tzv. I-snímk ve videu (nap. z kodéru H.264, VP-9 apod.) návrh kódování/dekódování uzp soben paralelní a/nebo hardwarové implemenzaci maximální snaha využívat celo íselnou aritmetiku užití jiného barevného prostoru než Y C B C R Y C G C O má podobné vlastnosti, výpo et v celo íselné aritmetice: Y = [G + (R + B) / 2] / 2 C G = [G (R + B) / 2] / 2, C O = (R B) / 2 MHS Uložení a komprese statického bitmapového obrazu 62 / 65 DALŠÍ TECHNIKY používání transformací s obdobnými vlastnostmi jako DCT, ale s výpo ty s celými ísly bloky pro DCT jiné než 8 8 pixel obrázek typicky rozd len na velké bloky (nap. 32 32 px) kodér se automaticky rozhodne pro velkou DCT, nebo velký blok rozd lí na menší bloky hierarchické d lení blok až do velikosti 4 4 px) MHS Uložení a komprese statického bitmapového obrazu 63 / 65

DALŠÍ TECHNIKY hierarchické užití DCT stejnolehlé koeficienty DCT z n kolika sousedních blok jsou typicky podobné sdruží se do blok a ty se op t transformují DCT pixely DCT koeficienty DCT koeficienty DCT koeficienty 2. ádu 4 DCT 2 2 p eházení koeficient 4 DCT 2 2 Ilustrace principu: 1. vstupní obrázek rozd len na bloky 2 2 px 2. bloky transformovány DCT velikosti 2 2 3. koeficienty DCT [,] sdruženy do bloku 2 2; obdobn koeficienty [, 1] atd. 4. nov vytvo ené bloky op t transformovány DCT velikosti 2 2, výsledek kvantizován a odeslán na výstup MHS Uložení a komprese statického bitmapového obrazu 64 / 65 DALŠÍ TECHNIKY predikce bloku z okolních blok p ed kódováním bloku se kodér rozhodne, zda lze jeho obsah odhadnout z pixel blok nad a vlevo pokud ano, ode te odhad od hodnot bloku a kóduje rozdíl (reziduum), na výstup odešle i informaci o typu odhadu pokud ne, kóduje pixely standardním zp sobem 2 4 6 8 2 2 4 6 9 2 4 6 8 1 3 2 5 6 8 2 4 6 8 1 2 3 4 7 7 2 4 6 8 1 1-1 2 2 5 6 9 2 4 6 8 1 1 kódovaný blok a jeho okolí kodér si všiml, že ádky bloku jsou podobné jeho hornímu okolí toto je odhad bloku kodér bude kódovat jen rozdíl bloku a odhadu MHS Uložení a komprese statického bitmapového obrazu 65 / 65