Komprese obrazu. Verze: 1.5, ze dne: 1. června Václav Hlaváč a Tomáš Svoboda

Podobné dokumenty
Komprese obrazu. Úvod. Rozdělení metod komprese obrazů. Verze: 1.5, ze dne: 1. června Václav Hlaváč a Tomáš Svoboda

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

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

Komprese obrazů. Václav Hlaváč. České vysoké učení technické v Praze

Kompresní metody první generace

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

Kompresní algoritmy grafiky. Jan Janoušek F11125

Obraz matematický objekt. Spojitý obraz f c : (Ω c R 2 ) R

Informační systémy ve zdravotnictví

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

1. Základy teorie přenosu informací

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

Kompresní techniky. David Bařina. 15. února David Bařina Kompresní techniky 15. února / 37

Základní principy přeměny analogového signálu na digitální

Kosinová transformace 36ACS

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

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

Š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

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

Teorie informace: řešené příklady 2014 Tomáš Kroupa

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

Komprese obrazu. Multimedia Technology Group, K13137, FEE CTU 0


Samoopravné kódy. Katedra matematiky a Institut teoretické informatiky Západočeská univerzita

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

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky

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

Technická kybernetika. Obsah. Principy zobrazení, sběru a uchování dat. Měřicí řetězec. Principy zobrazení, sběru a uchování dat

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

CAD II přednáška č. 5. Grafické formáty PCX GIF TIFF BMP

Informatika Kódování. Obsah. Kód. Radim Farana Podklady předmětu Informatika pro akademický rok 2007/2008

Kódování obrazu podle standardu MPEG 2

Rastrový obraz, grafické formáty

Konverze grafických rastrových formátů

ZÁPADOČESKÁ UNIVERZITA V PLZNI

Odpřednesenou látku naleznete v kapitole 3.3 skript Diskrétní matematika.

Počítačová grafika a vizualizace I

Komprese dat (Komprimace dat)

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

Výsledky experimentů předmětu Komprese dat

Digitální učební materiál

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

aneb jak se to tam všechno vejde?

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

1 Komprese obrazových signálů

1. Přednáška: Obecné Inf. + Signály a jejich reprezentace

Úloha - rozpoznávání číslic

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

Webové stránky. 16. Obrázky na webových stránkách, optimalizace GIF. Datum vytvoření: str ánk y. Vytvořil: Petr Lerch.

Odhad parametrů N(µ, σ 2 )

Jan Kaiser ČVUT, Fakulta elektrotechnická, katedra Radioelektroniky Technická 2, Praha 6

Lineární algebra nad obecným Z m, lineární kódy

Měření závislosti statistických dat

Algoritmy komprese dat

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

Moderní multimediální elektronika (U3V)

Semestrální práce z předmětu KIV/MHS. Komprese statického obrazu pomocí MDCT

NOVÉ METODY HODNOCENÍ OBRAZOVÉ KVALITY

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

Aplikace 2: Hledání informativních příznaků pro rozpoznávání

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

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

Matematika IV 10. týden Kódování

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

Odpřednesenou látku naleznete v dodatku A skript Abstraktní a konkrétní lineární algebra.

Úvod do teorie informace

Komprese DNA pomocí víceproudé komprese a predikce báz. Jan Jelínek, Radek Miček

KOMPRIMACE. aneb Aby to zabralo méně místa

Psaní na mokrý papír. Andrew Kozlik KA MFF UK

Nestranný odhad Statistické vyhodnocování exp. dat M. Čada

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

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

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

DIGITÁLNÍ OBRAZ. Obrázky (popř. slajdy) převzaty od

Rastrový obraz Barevný prostor a paleta Zmenšení barevného prostoru Základní rastrové formáty

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

Binární vyhledávací stromy pokročilé partie

Osnova přednášky. Formáty uložení dat. Vyjádření hodnot datového typu. Vyjádření hodnot datového typu. Datové formáty. Výpočetní technika I

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

Grafické formáty. poznámky k 5. přednášce Zpracování obrazů. Martina Mudrová 2004

UNIVERZITA PARDUBICE. 4.4 Aproximace křivek a vyhlazování křivek

Digitální učební materiály ve škole, registrační číslo projektu CZ.1.07/1.5.00/

Roman Juránek. Fakulta informačních technologíı. Extrakce obrazových příznaků 1 / 30

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

Maturitní téma: Počítačová grafika (rastrová a vektorová grafika, grafické programy, formáty)

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Informace v počítači. Výpočetní technika I. Ing. Pavel Haluza ústav informatiky PEF MENDELU v Brně haluza@mendelu.cz

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

Multimediální systémy

Matematika III 10. týden Číselné charakteristiky střední hodnota, rozptyl, kovariance, korelace

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

[1] samoopravné kódy: terminologie, princip

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

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ů

Kvantové algoritmy a bezpečnost. Václav Potoček

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

Metoda nejmenších čtverců Michal Čihák 26. listopadu 2012

Multimediální systémy

Formáty videa. David Bařina. 5. dubna David Bařina Formáty videa 5. dubna / 46

UČENÍ BEZ UČITELE. Václav Hlaváč

Transkript:

Komprese obrazu Verze: 1.5, ze dne: 1. června 2006 Václav Hlaváč a Tomáš Svoboda Czech Technical University, Faculty of Electrical Engineering Center for Machine Perception, Prague, Czech Republic svoboda@cmp.felk.cvut.cz http://cmp.felk.cvut.cz/~svoboda

Úvod Cíl spočívá v redukci množství dat potřebných k reprezentaci obrazu. Spotřebované množství paměti se měří například v bitech. Použití pro přenos a uchování dat. Proč se liší komprese obrazů od komprese 1D dat? 2/74

Rozdělení metod komprese obrazů 1. Segmentace objektů v obraze. 3/74 Je potřebná interpretace obrazu. Metody jsou závislé na datech. Dosahuje se nejvyšších kompresních poměrů. Není možná zpětná rekonstrukce výchozího obrazu. 2. Odstranění redundandní informace. Data se neinterpretují. Lze použít na libovolná obrazová data. Využívá se statistických závislostí v obraze (sekvenci obrazů).

Kódování segmentovaných dat (1) Kódování hranic oblastí 4/74 Polygonální aproximace hranice

Kódování segmentovaných dat (2) Kódování hranic oblastí 5/74 Řetězový (též Freemanův) kód, 4-okolí 1 2 0 3 Řetězový kód: 3, 0, 0, 3, 0, 1, 1, 2, 1, 2, 3, 2. Derivace kódu: 1, 0, 3, 1, 1, 0, 1, 3, 1, 1, 3, 1.

Kódování segmentovaných dat (3) Kódování hranic oblastí 6/74 Řetězový (též Freemanův) kód, 8-okolí 3 2 1 4 0 5 6 7 Kód: 00077665555556600000006444444442221111112234445652211

Kódování oblastí Kódování segmentovaných dat (4) 7/74 Kódování úseky řádků (angl. Run Length Encoding, RLE) 0 1 2 3 4 5 6 0 1 2 3 4 5 6 Kódem je seznam seznamů. Každý seznam popisuje situaci v jednom řádku. Používá FAX (CCITT Group 3). ((11144)(214)(52355))

Komprese a rekonstrukce obrazu 8/74 Original image Data redundancy reduction Coding Transmission, Archiving Reconstructed image Reconstruction Decoding

Odstranění redundantní informace Dvě velké třídy používaných postupů: 9/74 1. Bezeztrátové metody. Umožňují úplnou rekonstrukci výchozího signálu. 2. Ztrátové metody. Umožňují pouze částečnou rekonstrukci výchozího signálu.

Informační hodnota intensity Nechť obraz má G jasových úrovní, k = 0... G 1 s pravděpodobnostmi výskytu P (k). 10/74 Shannonova informační hodnota každé intenzity je h(k) log 2 1 P (k) [bit] Příklad: Obraz o rozměrech 256 2 pixelů. V něm je pouze 1 pixel s intenzitou 128, tedy P (128) = 1/256 2. Náhodně vyberu pixel a jeho jas je právě 128. Získal jsem h(128) = log 2 ( 1 1/256 2 ) = 16 bitů informace.

Informační hodnota intensity Nechť obraz má G jasových úrovní, k = 0... G 1 s pravděpodobnostmi výskytu P (k). 10/74 Shannonova informační hodnota každé intenzity je h(k) log 2 1 P (k) [bit] Příklad: Obraz o rozměrech 256 2 pixelů. V něm je pouze 1 pixel s intenzitou 128, tedy P (128) = 1/256 2. Náhodně vyberu pixel a jeho jas je právě 128. Získal jsem h(128) = log 2 ( 1 1/256 2 ) = 16 bitů informace. Informace znamená v tomto případě znalost o pozici náhodně vybraného pixelu. Pamatujete ještě na hru lodě?

Informační hodnota obrázku Entropie Obraz je soubor pixelů. Entropie měří průměrnou informační hodnotu: 11/74 H = G 1 k=0 P (k)h(k)

Informační hodnota obrázku Entropie Obraz je soubor pixelů. Entropie měří průměrnou informační hodnotu: 11/74 H = G 1 k=0 P (k)h(k) Po dosazení H = G 1 k=0 P (k) log 2 1 P (k)

Informační hodnota obrázku Entropie Obraz je soubor pixelů. Entropie měří průměrnou informační hodnotu: 11/74 H = G 1 k=0 P (k)h(k) Po dosazení H = G 1 k=0 P (k) log 2 1 P (k) a úpravě H = G 1 k=0 P (k) log 2 P (k)

Odhad entropie z histogramu obrazu Nechť #(k), 0 k 2 b 1 a M, N jsou rozměry obrazu. 12/74 Odhad pravděpodobnosti ˆP (k) = #(k) M N Odhad entropie Ĥ = 2 b 1 k ˆP (k) log 2 ˆP (k) [bitů] Poznámka: odhad entropie je příliš optimistický, protože mezi jasy obrazu existují závislosti.

Příklad obrazu a jeho entropie (1) 13/74 Entropy H=8.00 Entropy H=8.00 600 500 400 300 200 100 0 0 50 100 150 200 250 Rovnoměrné zastoupení jasů. Může mít obrázek s 256 stupni šedi vyšší entropii než 8?

Příklad obrazu a jeho entropie (2) 14/74 Entropy H=6.94 Entropy H=6.94 1000 800 600 400 200 0 0 50 100 150 200 250

Příklad obrazu a jeho entropie (3) 15/74 Entropy H=6.01 Entropy H=6.01 7000 6000 5000 4000 3000 2000 1000 0 0 50 100 150 200 250

Příklad obrazu a jeho entropie (4) 16/74 x 10 4 Entropy H=4.27 Entropy H=4.27 4 3.5 3 2.5 2 1.5 1 0.5 0 0 50 100 150 200 250

Příklad obrazu a jeho entropie (5) 17/74 Entropy H=1.66 x 10 4 7 Entropy H=1.66 6 5 4 3 2 1 0 0 50 100 150 200 250

Příklad obrazu a jeho entropie (6) 18/74 Entropy H=0.93 x 10 4 Entropy H=0.93 6 5 4 3 2 1 0 0 50 100 150 200 250

Entropy H=1.66 Entropie v obrazech 19/74 Entropy H=8.00 Entropy H=6.94 Entropy H=6.01 Entropy H=4.27 Entropy H=0.93 Který obrázek půjde lépe zkomprimovat a proč?

Entropy H=1.66 Entropie v obrazech 19/74 Entropy H=8.00 Entropy H=6.94 Entropy H=6.01 Entropy H=4.27 Entropy H=0.93 Který obrázek půjde lépe zkomprimovat a proč? Nechť b je nejmenší počet bitů, kterým lze reprezentovat počet kvantizačních úrovní (jasů). Informační redundance r = b H.

Entropy H=1.66 Entropie v obrazech 19/74 Entropy H=8.00 Entropy H=6.94 Entropy H=6.01 Entropy H=4.27 Entropy H=0.93 Který obrázek půjde lépe zkomprimovat a proč? Nechť b je nejmenší počet bitů, kterým lze reprezentovat počet kvantizačních úrovní (jasů). Informační redundance r = b H. Intensitám s menší četností se přiřadí kód s menší délkou než častějším intensitám. Výborné čtení o entropii a kódování [1], kapitoly 2,4,5,6.

Postupy odstraňování redundace v datech Pomocí lineárních integrálních transformací obrazu, např. Fourierou transformací. 20/74 Prediktivní komprese. Hybridní metody. Kódování Obvykle optimální kódování, tj. nejkratším kódem. Kódy pevné délky (Huffmanovo kódování) nebo kódy proměnné délky (aritmetické kódování).

Použití DCT2 21/74 Princip Rozděl obraz na n n nepřekrývající se okna. Na každé okno aplikuj DCT2. Dělej něco s koeficienty,... DCT2 tranformuje jasový obrázek na lineární kombinaci bázových obrazů. Bázové obrazy pro okna 8 8.

Použití DCT2 21/74 Princip Rozděl obraz na n n nepřekrývající se okna. Na každé okno aplikuj DCT2. Dělej něco s koeficienty,... DCT2 tranformuje jasový obrázek na lineární kombinaci bázových obrazů. Bázové obrazy pro okna 8 8. Proč?

Použití DCT2 21/74 Princip Rozděl obraz na n n nepřekrývající se okna. Na každé okno aplikuj DCT2. Dělej něco s koeficienty,... DCT2 tranformuje jasový obrázek na lineární kombinaci bázových obrazů. Bázové obrazy pro okna 8 8. Proč? Podívejme se na hodnoty koeficientů...

DCT2 coefficients 22/74 original image log(abs(dct2coefs)); blocksize [4 4] 50 100 50 100 6 5 4 150 150 3 200 200 2 1 250 50 100 150 200 250 250 50 100 150 200 250

DCT2 coefficients 23/74 original image log(abs(dct2coefs)); blocksize [8 8] 7 50 50 6 100 100 5 4 150 150 3 200 200 2 1 250 50 100 150 200 250 250 50 100 150 200 250

DCT2 coefficients 24/74 original image log(abs(dct2coefs)); blocksize [16 16] 50 50 7 6 100 150 100 150 5 4 3 200 200 2 1 250 50 100 150 200 250 250 50 100 150 200 250

DCT2 coefficients 25/74 original image log(abs(dct2coefs)); blocksize [32 32] 8 50 100 50 100 7 6 5 150 200 150 200 4 3 2 1 250 50 100 150 200 250 250 50 100 150 200 250

JPEG (1) obraz a jeho DCT2 26/74 Original image log(abs(dct2coeff)+1) 50 50 100 100 150 150 200 200 250 50 100 150 200 250 250 50 100 150 200 250

JPEG (2) vyberme okno 27/74 Original image log(abs(dct2coeff)+1) 50 50 100 100 150 150 200 200 250 50 100 150 200 250 250 50 100 150 200 250

JPEG (3) posun intensit I 128 28/74 Original image window 250 intensities shifted 80 5 200 5 60 40 10 10 20 15 150 15 0 20 20 100 20 40 25 50 25 60 80 30 30 100 5 10 15 20 25 30 5 10 15 20 25 30

JPEG (4) kvantizace DCT2 koeficientů 29/74 DCT2 coefficients Quantized DCT2 917 zero components (from 1024) 5 1000 5 10 10 500 10 5 15 0 15 0 20 500 20 5 25 1000 25 10 30 1500 5 10 15 20 25 30 30 15 5 10 15 20 25 30 round(dct2./quantlevel) mnoho koeficientů nulových Účinná bezeztrátová komprese kvantizovaných koeficientů.

JPEG (5) kvantizace DCT2 koeficientů 30/74 DCT2 coefficients compute the dct2 coefficients from the quantized data 5 1000 5 1000 10 500 10 500 15 0 15 0 20 500 20 500 25 1000 25 1000 30 1500 5 10 15 20 25 30 originální koeficienty 30 1500 5 10 15 20 25 30 po kvantizaci

JPEG (6) DCT2 intensity 31/74 idct2 applied to the quantized data get back the intensities 150 250 5 100 5 200 10 50 10 15 0 15 150 20 50 20 100 25 100 25 50 30 150 30 5 10 15 20 25 30 IDCT2 aplikovávana na kvantizované koeficienty 5 10 15 20 25 30 Posun pro získání intensit I + 128

JPEG (7) Aplikujeme na celý obrázek 32/74 Original image crude version of the JPEG [32,32] window 50 50 100 100 150 150 200 200 250 50 100 150 200 250 Původní obrázek 250 50 100 150 200 250 Komprimovaná verze

JPEG (8) Méně agresivní komprese Přibližně polovina DCT2 koeficientů nulových 33/74 Original image crude version of the JPEG [32,32] window 50 50 100 100 150 150 200 200 250 50 100 150 200 250 Původní obrázek 250 50 100 150 200 250 Komprimovaná verze

JPEG (9) Vliv velikosti okna 34/74 crude version of the JPEG [8,8] window crude version of the JPEG [16,16] window 50 50 100 100 150 150 200 200 250 50 100 150 200 250 okna 8 8 250 50 100 150 200 250 okna 16 16

TŘI DEFINICE KOMPRESNÍHO POMĚRU Kompresní poměr počítaný 35/74 1. Na základě redundance K = b Ĥ 2. Na základě úspory paměti κ = délka zprávy po kompresi délka zprávy před kompresí 3. Na základě úspory paměti (v doplňkovém tvaru) 1 κ

JPEG foto, quality parameter 90 36/74

JPEG foto, quality parameter 70 37/74

JPEG foto, quality parameter 30 38/74

JPEG foto, quality parameter 10 39/74

JPEG foto, quality parameter 5 40/74

JPEG foto 41/74 sum of abs differences, quality 90 250 Quality 90, file size 255098 100 200 200 300 150 400 500 100 600 Quality parameter 90 700 200 400 600 800 1000 50 Rozdílový obrázek

JPEG foto 42/74 sum of abs differences, quality 30 250 Quality 30, file size 068803 100 200 200 300 150 400 500 100 600 Quality parameter 30 700 200 400 600 800 1000 50 Rozdílový obrázek

JPEG foto 43/74 sum of abs differences, quality 5 250 Quality 5, file size 019858 100 200 200 300 150 400 500 100 600 Quality parameter 5 700 200 400 600 800 1000 50 Rozdílový obrázek

JPEG foto, velikosti souborů 44/74 1400 1200 jpg file sizes png file size 1000 File size [kb] 800 600 400 200 0 0 20 40 60 80 100 Quality paremeter

JPEG graf, quality parameter 90 45/74

JPEG graf, quality parameter 70 46/74

JPEG graf, quality parameter 30 47/74

JPEG graf, quality parameter 10 48/74

JPEG graf, quality parameter 5 49/74

JPEG graf 50/74 Quality 90, file size 116959 sum of abs differences, quality 90 250 100 200 200 300 150 400 100 500 50 Quality parameter 90 600 100 200 300 400 500 600 700 Rozdílový obrázek

JPEG graf 51/74 Quality 30, file size 042726 sum of abs differences, quality 30 250 100 200 200 300 150 400 100 500 50 Quality parameter 30 600 100 200 300 400 500 600 700 Rozdílový obrázek

JPEG graf 52/74 Quality 5, file size 017706 sum of abs differences, quality 5 250 100 200 200 300 150 400 100 500 50 Quality parameter 5 600 100 200 300 400 500 600 700 Rozdílový obrázek

JPEG graf, velikosti souborů 53/74 250 jpg file sizes png file size 200 File size [kb] 150 100 50 0 0 20 40 60 80 100 Quality paremeter

PREDIKTIVNÍ KOMPRESE MYŠLENKA 54/74 Najít matematický model, který dokáže predikovat na základě předchozích hodnot další hodnotu. Přenášet pouze rozdíl mezi skutečnou a predikovanou hodnotou. Ke kompresi dochází, protože rozdílová data mají menší statistickou variaci (např. rozptyl) než původní data. f(i,j) + - Quantizer d(i,j) d(i,j) + + f(i,j) Predictor + Predictor (a) + (b)

Prediktivní komprese jednoduchý příklad (1) 55/74 Lineární prediktor prvního řádu ˆf(i, j) = a f(i 1, j) Rozdíl (chyba prediktoru) d(i, j) = ˆf(i, j) f(i, j) Hledáme takové a, které minimalizuje (např.) součet kvadratických chyb a = argmin a (af(i 1, j) f(i, j)) 2

Prediktivní komprese jednoduchý příklad (1) 55/74 Lineární prediktor prvního řádu ˆf(i, j) = a f(i 1, j) Rozdíl (chyba prediktoru) d(i, j) = ˆf(i, j) f(i, j) Hledáme takové a, které minimalizuje (např.) součet kvadratických chyb a = argmin a (af(i 1, j) f(i, j)) 2 a = ( ) 2 af(i 1, j) f(i, j) f(i 1, j) = 0

Prediktivní komprese jednoduchý příklad (1) 55/74 Lineární prediktor prvního řádu ˆf(i, j) = a f(i 1, j) Rozdíl (chyba prediktoru) d(i, j) = ˆf(i, j) f(i, j) Hledáme takové a, které minimalizuje (např.) součet kvadratických chyb a = argmin a (af(i 1, j) f(i, j)) 2 a = ( ) 2 af(i 1, j) f(i, j) f(i 1, j) = 0 a = f(i, j)f(i 1, j) f(i 1, j) 2

Prediktivní komprese jednoduchý příklad (2) Malá odbočka k matematice 56/74 a = f(i, j)f(i 1, j) f(i 1, j) 2 pokud je f(i, j) stacionární (stačí slabá, aby se neměnily 1. a 2. momenty v čase) a má nulovou střední hodnotu, pak kde R je autokorelační funkce. a = R(1)

Prediktivní komprese obraz 57/74 original image, entropy=7.66 Původní obraz, entropie 7.66. a = 0.9518

Prediktivní komprese chyby predikce 58/74 differences between predicted and actual image, entropy=6.32 100 200 300 400 500 600 150 100 50 0 50 700 100 200 400 600 800 1000

Prediktivní komprese porovnání hitogramů 59/74 7000 histogram of the original image 7 x 104 histogram of the errors 6000 6 5000 5 4000 4 3000 3 2000 2 1000 1 0 150 100 50 0 50 100 150 Histogram obrázku 0 300 200 100 0 100 200 300 Histogram chyb predikce

Prediktivní komprese porovnání hitogramů 59/74 7000 histogram of the original image 7 x 104 histogram of the errors 6000 6 5000 5 4000 4 3000 3 2000 2 1000 1 0 150 100 50 0 50 100 150 Histogram obrázku 0 300 200 100 0 100 200 300 Histogram chyb predikce Pravděpodobně půjde tedy rozdílový obrázek dobře komprimovat.

Prediktivní komprese kvantizace chyb predikce 60/74 7 x 104 histogram of the errors 6 5 4 3 2 1 0 300 200 100 0 100 200 300 Histogram chyb predikce 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 2 x 105 histogram of the errors quantized 0 300 200 100 0 100 200 300 Histogram kvantovaných chyb predikce

Prediktivní komprese Přenos dat quantized differences, entropy=3.45, compratio=2.22 100 200 300 400 500 600 150 100 50 0 50 61/74 700 100 200 400 600 800 1000 Data k přenosu: I(1, 1), střední hodnota jasu a obrázek kvantovaných chyb predikce.

Prediktivní komprese Výsledek 62/74 reconstructed image, amount of transmitted data 0.45 Rekonstruovaný obraz. Přenesená data 0.45 původních.

Prediktivní komprese hrubá kvantizace chyb 63/74 reconstructed image, amount of transmitted data 0.21 Rekonstruovaný obraz. Přenesená data 0.21 původních. Kvalita není příliš uspokojivá, Proč?

Prediktivní komprese analýza problému velmi jednoduchý predikční model 64/74 naivní kvantizace z původní obrázku přenášíme pouze 2 hodnoty

Prediktivní komprese analýza problému velmi jednoduchý predikční model 64/74 naivní kvantizace z původní obrázku přenášíme pouze 2 hodnoty Příklad částečného řešení přeneseme ještě navíc každou desátou instensitu fixujeme tak drift chyby

Hrubá kvantizace + desetina intensit 65/74 reconstructed image, amount of transmitted data 0.31 Rekonstruovaný obraz. Přenesená data 0.31 původních.

Prediktivní komprese kontrolní otázka (1) 66/74 original image, entropy=8.00 1200 histogram of the original image 1000 800 600 400 200 0 150 100 50 0 50 100 150 a jeho histogram Bílý šum

Prediktivní komprese kontrolní otázka (2) 67/74 Lineární prediktor prvního řádu ˆf(i, j) = a f(i 1, j) Rozdíl (chyba prediktoru) d(i, j) = ˆf(i, j) f(i, j) Hledáme takové a, které minimalizuje (např.) součet kvadratických chyb a = argmin a (af(i 1, j) f(i, j)) 2 Otázka: Jaká bude asi hodnota a pro obrázek bílého šumu?

Prediktivní komprese kontrolní otázka (2) 67/74 Lineární prediktor prvního řádu ˆf(i, j) = a f(i 1, j) Rozdíl (chyba prediktoru) d(i, j) = ˆf(i, j) f(i, j) Hledáme takové a, které minimalizuje (např.) součet kvadratických chyb a = argmin a (af(i 1, j) f(i, j)) 2 Otázka: Jaká bude asi hodnota a pro obrázek bílého šumu? a 0

DIGITÁLNÍ PULSNĚ KÓDOVÁ MODULACE (1) Mějme obraz f(i, j), odhad jeho statistických vlastností pomocí autokorelační funkce R(k, l) = E{f(i, j)f(i k, j l)} 68/74 Hledáme matematický model prediktoru ˆf(i, j) Rozdíl d(i, j) = ˆf(i, j) f(i, j) Předpokládejme např. lineární prediktor 3. řádu ˆf(i, j) = a 1 f(i, j 1) + a 2 f(i 1, j 1) + a 3 f(i 1, j), kde a 1, a 2, a 3 jsou parametry prediktivního modelu.

DIGITÁLNÍ PULSNĚ KÓDOVÁ MODULACE (2) Jak se odhadnou parametry prediktivního modelu a 1, a 2, a 3? 69/74 Vyřešením statistické optimalizační úlohy. Předpokládá se stacionární náhodný proces f a nulová střední hodnota. e = E{[ ˆf(i, j) f(i, j)] 2 } a 1 R(0, 0) + a 2 R(0, 1) + a 3 R(1, 1) = R(1, 0) a 1 R(0, 1) + a 2 R(0, 0) + a 3 R(1, 0) = R(1, 1) a 1 R(1, 1) + a 2 R(1, 0) + a 3 R(0, 0) = R(0, 1) kde R(m, n) je autokorelační funkce. Zaveďme K = b/h, kde b je bitová hloubka a H je entropie dat k přenosu.

DPCM PŘÍKLAD, K = 3.8 70/74 Po rekonstrukci K = 3.8. Rozdílový snímek.

DPCM PŘÍKLAD, K = 6.2 71/74 Po rekonstrukci K = 6.2. Rozdílový snímek.

bezeztrátová komprese Formát obrázku PNG 72/74 kombinace deflace (kódování) a prediktivní komprese mnohem lepší než GIF typicky lepší kompresní poměr ruzné bitové hloubky (GIF pouze 8 bitové paletové) lepší podopra průhlednosti

Komprimované shrnutí aneb Buyer s guide JPG (JPEG) vhodný pro: 73/74 fotografie PNG pro: obrázky textu (naskenované) grafy cartoons též snímky obrazovky (snapshots) obecně CGI (Computer Generated Images)... pokud ovšem nelze použít vektorové formáty (EPS,PDF,... )

References 74/74 [1] David J.C. MacKay. Information Theory, Inference, and Learning Algorithms. Cambridge University Press, fourth printing edition, 2003. Available also on-line http://www.inference.phy.cam.ac.uk/mackay/itila/.

1 2 0 3

3 2 1 4 0 5 6 7

0 1 2 3 4 5 6 0 1 2 3 4 5 6

Original image Data redundancy reduction Coding Transmission, Archiving Reconstructed image Reconstruction Decoding

Entropy H=8.00

0 50 100 150 200 250 600 Entropy H=8.00 500 400 300 200 100 0

Entropy H=6.94

0 50 100 150 200 250 Entropy H=6.94 1000 800 600 400 200 0

Entropy H=6.01

0 50 100 150 200 250 7000 Entropy H=6.01 6000 5000 4000 3000 2000 1000 0

Entropy H=4.27

0 50 100 150 200 250 x 10 4 Entropy H=4.27 4 3.5 3 2.5 2 1.5 1 0.5 0

Entropy H=1.66

0 50 100 150 200 250 7 x 10 4 Entropy H=1.66 6 5 4 3 2 1 0

Entropy H=0.93

0 50 100 150 200 250 x 10 4 Entropy H=0.93 6 5 4 3 2 1 0

Entropy H=8.00

Entropy H=6.94

Entropy H=6.01

Entropy H=4.27

Entropy H=1.66

Entropy H=0.93

original image 50 100 150 200 250 50 100 150 200 250

log(abs(dct2coefs)); blocksize [4 4] 50 100 6 5 4 150 3 200 2 1 250 50 100 150 200 250

original image 50 100 150 200 250 50 100 150 200 250

log(abs(dct2coefs)); blocksize [8 8] 7 50 6 100 5 4 150 3 200 2 1 250 50 100 150 200 250

original image 50 100 150 200 250 50 100 150 200 250

log(abs(dct2coefs)); blocksize [16 16] 50 7 6 100 5 4 150 3 200 2 1 250 50 100 150 200 250

original image 50 100 150 200 250 50 100 150 200 250

log(abs(dct2coefs)); blocksize [32 32] 8 50 7 6 100 150 200 5 4 3 2 1 250 50 100 150 200 250

Original image 50 100 150 200 250 50 100 150 200 250

log(abs(dct2coeff)+1) 50 100 150 200 250 50 100 150 200 250

Original image 50 100 150 200 250 50 100 150 200 250

log(abs(dct2coeff)+1) 50 100 150 200 250 50 100 150 200 250

5 10 15 20 25 30 Original image window 250 5 10 15 200 150 20 100 25 50 30

5 10 15 20 25 30 5 10 15 20 25 30 intensities shifted 80 60 40 20 0 20 40 60 80 100

5 10 15 20 25 30 DCT2 coefficients 5 1000 10 500 15 0 20 500 25 1000 30 1500

5 10 15 20 25 30 Quantized DCT2 917 zero components (from 1024) 5 10 10 5 15 0 20 5 25 10 30 15

5 10 15 20 25 30 DCT2 coefficients 5 1000 10 500 15 0 20 500 25 1000 30 1500

5 10 15 20 25 30 compute the dct2 coefficients from the quantized data 5 1000 10 500 15 0 20 500 25 1000 30 1500

5 10 15 20 25 30 idct2 applied to the quantized data 150 5 100 10 50 15 0 20 50 25 100 30 150

5 10 15 20 25 30 get back the intensities 250 5 10 15 200 150 20 100 25 50 30

Original image 50 100 150 200 250 50 100 150 200 250

crude version of the JPEG [32,32] window 50 100 150 200 250 50 100 150 200 250

Original image 50 100 150 200 250 50 100 150 200 250

crude version of the JPEG [32,32] window 50 100 150 200 250 50 100 150 200 250

crude version of the JPEG [8,8] window 50 100 150 200 250 50 100 150 200 250

crude version of the JPEG [16,16] window 50 100 150 200 250 50 100 150 200 250

Quality 90, file size 255098

sum of abs differences, quality 90 250 100 200 200 300 150 400 500 600 700 100 50 200 400 600 800 1000

Quality 30, file size 068803

sum of abs differences, quality 30 250 100 200 200 300 150 400 500 600 700 100 50 200 400 600 800 1000

Quality 5, file size 019858

sum of abs differences, quality 5 250 100 200 200 300 150 400 500 600 700 100 50 200 400 600 800 1000

1400 1200 jpg file sizes png file size 1000 File size [kb] 800 600 400 200 0 0 20 40 60 80 100 Quality paremeter

Quality 90, file size 116959

100 200 300 400 500 600 700 sum of abs differences, quality 90 250 100 200 300 200 150 400 100 500 600 50

Quality 30, file size 042726

100 200 300 400 500 600 700 sum of abs differences, quality 30 250 100 200 300 200 150 400 100 500 600 50

Quality 5, file size 017706

100 200 300 400 500 600 700 sum of abs differences, quality 5 250 100 200 300 200 150 400 100 500 600 50

250 jpg file sizes png file size 200 File size [kb] 150 100 50 0 0 20 40 60 80 100 Quality paremeter

(i,j) + - Quantizer d(i,j) d(i,j) + + f(i,j) Predictor + Predictor (a) + (b)

original image, entropy=7.66

differences between predicted and actual image, entropy=6.32 100 200 300 400 500 600 150 100 50 0 50 700 100 200 400 600 800 1000

0 150 100 50 0 50 100 150 7000 histogram of the original image 6000 5000 4000 3000 2000 1000

0 300 200 100 0 100 200 300 7 x 104 histogram of the errors 6 5 4 3 2 1

0 300 200 100 0 100 200 300 7 x 104 histogram of the errors 6 5 4 3 2 1

0 300 200 100 0 100 200 300 2 x histogram of the errors quantized 105 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2

quantized differences, entropy=3.45, compratio=2.22 150 100 200 300 400 500 600 100 50 0 50 700 100 200 400 600 800 1000

reconstructed image, amount of transmitted data 0.45

reconstructed image, amount of transmitted data 0.21

reconstructed image, amount of transmitted data 0.31

original image, entropy=8.00

0 150 100 50 0 50 100 150 1200 histogram of the original image 1000 800 600 400 200