Kompresní algoritmy grafiky

Slides:



Advertisements
Podobné prezentace
Počítačová grafika.
Advertisements

Grafické formáty výukový text.
Půlbajtová komprimace
Statistické funkce v tabulkovém kalkulátoru Excel MS
Číslo DUM: VY_32_INOVACE_04_01 Autor: Mgr. Ivana Matyášková
ZÁKLADY GRAFIKY Ing. Tomáš Kostka UNIV 2 – KRAJE; TWS_02.
Počítačová grafika.
TV, video.
Výukový modul projektu: Nové formy výuky ve školách kraje Vysočina Projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.
DIGITÁLNÍ UČEBNÍ MATERIÁL
Základy focení – Zlatý řez a formáty souborů ve fotografii
Kompresní algoritmy.
Webové formáty Bohumil Bareš. -1- Rozdělení grafických formátů  firemní (PSD, AI, FLA……)  univerzální (GIF, JPEG, TIFF, PNG…)  bitmapové (rastrové,
Základní škola národního umělce Petra Bezruče, Frýdek-Místek, tř. T. G. Masaryka 454 Projekt SIPVZ 2005.
Počítačová grafika Nagla Al Samsamová 4.B.
Komprese textových, video a audio dat.  Komprese   JPEG: 
Vektorová a bitmapová grafika
Informatika pro ekonomy II přednáška 3
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
Teorie komprese dat Veronika Srbová, 4.Z.
Základní škola, Most, J. A. Komenského 474, p.o Most Základní škola, Most, J. A. Komenského 474, p.o Most Digitální učební materiál vytvořen.
Téma č. 7 princip, blokově základní obvody
Počítačová grafika 18. Marcel Svrčina.
Základní škola, Most, J. A. Komenského 474, p.o Most J. A. Komenského 474, p.o Most Digitální učební materiál vytvořen v projektu Pořadové.
Základní škola, Most, J. A. Komenského 474, p.o Most Základní škola, Most, J. A. Komenského 474, p.o Most Digitální učební materiál vytvořen.
Počítačová grafika.
DIGITALIZACE Datové formáty. Nekomprimované formáty původní algoritmy záznamu datových souborů umožnily pouze jejich převod do digitální podoby:  formát.
VY_32_INOVACE_7B1 Grafika 1 Rozdělení grafiky.
GRAFIKA.
Rastrová grafika Výpočetní technika.
Gymnázium, Žamberk, Nádražní 48 Projekt: CZ.1.07/1.5.00/ Inovace ve vzdělávání na naší škole Název: Grafické formáty Autor: Mgr. Petr Vanický.
Kompresní metoda ACB Associative Coder of Buyanovsky autor: George Buyanovsky připravil Tomáš Skopal podle knihy „Data Compression“ od D. Salomona, 1997,
Kompresní algoritmus LZW Dokumentografické informační systémy.
Barevná hloubka: Ukázky obrázků ještě jednou:
Číslo šablony: III/2 VY_32_INOVACE_P4_1.19 Tematická oblast: Hardware, software a informační sítě Komprimace Typ: DUM - kombinovaný Předmět: ICT Ročník:
Aplikovaná počítačová grafika. Způsoby uložení grafické informace Rastr (grid, bitmapa …) Vektor.
Počítačová grafika a CAD 1. Způsoby uložení grafické informace Rastr (grid, bitmapa …) Vektor.
Datové formáty Název školyGymnázium Zlín - Lesní čtvrť Číslo projektuCZ.1.07/1.5.00/ Název projektuRozvoj žákovských kompetencí.
Ztrátová komprese obrázků JPG
Ztrátová komprese obrázků JPG. Formát JFIF (JPEG File Interchange format)‏  sekvenční, nejpoužívanější  progresivní,poněkud více náročné na paměť, určeno.
Vytvoření dokumentu bylo financováno ze zdrojů Evropského sociálního fondu a státního rozpočtu ČR. Registrační číslo projektu: CZ.1.07/1.1.32/ Rastrová.
Vytvoření dokumentu bylo financováno ze zdrojů Evropského sociálního fondu a státního rozpočtu ČR. Registrační číslo projektu: CZ.1.07/1.1.32/ Počítačová.
Multimédia Žlutířová Eva.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Počítačová grafika Komprimace grafických dat Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Růžena Hynková. Dostupné z Metodického portálu.
VIDEO. Co je video… Video je sekvence po sobě jdoucích obrázků Lidské oko (z důvodu setrvačnosti) nevnímá jednotlivé obrázky, ale plynulý pohyb Počet.
Grafické formáty Mgr. Petra Toboříková. Barevná hloubka barevné odstíny jsou dány kombinací barev barevná hloubka = určuje kolik bitů je potřeba k popisu.
Inf Ztrátová a bezztrátová komprese zvuku. Výukový materiál Číslo projektu: CZ.1.07/1.5.00/ Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím.
1 Televizní obraz Digitální záznam Tento projekt je spolufinancován Evropským sociálním fondem, státním rozpočtem České republiky a rozpočtem Hlavního.
Počítačová grafika. Rastrová grafika Fungování monitoru Jak může monitor zobrazit barvy tak věrně? Kolik barev vůbec dokáže zobrazit?
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
ZŠ Brno, Řehořova 3 S počítačem snadno a rychle Informatika 7. ročník III
RASTROVÝ OBRAZ JANA ŠTANCLOVÁ Obrázky (popř. slajdy) převzaty od RNDr. Josef Pelikán, CSc., KSVI MFF UK.
Název školyStřední odborná škola a Gymnázium Staré Město Číslo projektuCZ.1.07/1.5.00/ AutorMgr. Soňa Patočková Název šablonyIII/2.
Inf Mutlimédia. Výukový materiál Číslo projektu: CZ.1.07/1.5.00/ Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo materiálu:
Grafické formáty Definují způsob popisu a uložení grafických dat
Rastrová grafika Základní termíny – Formáty rastrové grafiky.
Grafické programy - opakování
Financováno z ESF a státního rozpočtu ČR.
Financováno z ESF a státního rozpočtu ČR.
Grafika – opakování Číslo projektu CZ.1.07/1.5.00/
Počítačová grafika základní pojmy. Počítačová grafika základní pojmy.
Software počítače 2 - opakování
Financováno z ESF a státního rozpočtu ČR.
DIGITÁLNÍ UČEBNÍ MATERIÁL
GRAFIKA.
Inf Formáty grafických souborů
Spojitá a kategoriální data Základní popisné statistiky
Barvy v počítačové grafice
HASH.
Transkript prezentace:

Kompresní algoritmy grafiky Jan Janoušek F11125

K čemu je komprese dobrá? Pokud je třeba skladovat datově náročné soubory. Např. pro záznam obrazu, hudby a hlavně videa je třeba skladovat překvapivě mnoho dat. Při přenosu dat po síti. Zmenšením datové náročnosti se minimalizuje čas potřebný k přenosu.

Základní pojmy Data Informace Data která dávají smysl. „Jakékoliv fyzicky (materiálně) zaznamenané znalosti (vědomosti), poznatky, zkušenosti nebo výsledky pozorování procesů, projevů, činností a prvků reálného světa (reality).“ „Surovina, z níž se tvoří informace.“ Zdroj: http://cs.wikipedia.org/wiki/Data Data která dávají smysl.

Základní pojmy Kompresní algoritmus Entropie Postup, který minimalizuje množství dat potřebné k popsání dané informace. Míra množství informace Všechny kompresní algoritmy využívají faktu, že data často obsahují řadu nadbytečných informací. S odstraňováním těchto redundantních informací se zvyšuje entropie dat.

Základní pojmy Kompresní poměr k Kompresní zisk z Jedná se o poměr mezi velikostí dat po a před kompresí nebo o poměr zkomprimovaného datového toku k nezkomprimovanému. Kompresní zisk je dán vztahem z=1-k a určuje tedy, kolik dat bylo kompresí „ušetřeno“. V případě, že kompresní algoritmus zvětší objem dat (kompresní poměr je větší, než jedna), je kompresní zisk záporný.

Základní pojmy Bezztrátový kompresní algoritmus Ztrátový kompresní algoritmus Z komprimovaných dat lze získat původní data bez jakékoliv ztráty kvality. Obvykle méně účinná, než ztrátová komprese. Z komprimovaných dat nelze zrekonstruovat původní data, protože při komprimaci dochází k určitému zkreslení. Při komprimaci grafiky se využívá znalostí psychovizuálního model.

Výhody/nevýhody Ztrátové Bezztrátové Z komprimovaných dat nelze zrekonstruovat původní data Pro obrázky s vysokým počtem barev (fotky) lepší kompresní poměr Nehodí se pro fotky a spol. Z komprimovaných dat lze zrekonstruovat původní data U obrázků z nízkým počtem barev obvykle lepší kompresní poměr i kvalita.

Bezztrátové kompresní algoritmy Slovníkové metody komprese Komprimovaná data jsou ukládána do „slovníku“. Při opakování dat, která jsou už ve slovníku obsažena, se místo dat samotných uvede odkaz na pozici ve slovníku Statistické metody komprese Statistické metody komprese jsou založeny na tom, že pro nejčastěji se vyskytující znaky jsou vytvářeny nejkratší odkazy. Ostatní metody komprese

Ostatní metody komprese RLE Vlastnosti RLE Vstup: wwwwwbwwwbbbbwbbbbbb Výstup: 5w1b3w4b1w6b Kompresní poměr (v tomto případě): 12 20 =0,6 Velmi záleží na typu obrázku Záleží i na orientaci obrázku V některých případech může být i záporný kompresní zisk

Slovníkové metody komprese – LZ77 „Podle principu je nazývána metodou posuvného okna. Pro lepší vysvětlení předpokládejme, že budou data reprezentována řetězcem. Posuvné okno (sliding window) je rozděleno na část, kde už jsou zakódovaná data, a na část, kde jsou ta nezakódovaná. Kódování začíná nastavením sliding window na řetězec, který má být zakódován, tak, že část pro již zakódovaná data je prázdná a druhá část je naplněna řetězcem (netřeba celým). Hledá se shoda co nejdelšího řetězce (počínajíce rozmezím) z nezakódované části s řetězcem v zakódované části. V případě shody je nový podřetězec zakódován uspořádanou dvojicí (p, n), kde p je pozice prvního znaku v zakódované části, a n je délka shodného podřetězce. “ Zdroj: Foltýnek, Tomáš a Přichystal, Jan. Komprimace a šifrování.

Slovníkové metody komprese – LZ77 Příklad: Vstupní text: leze leze po železe Výstupní text: leze l(2,3) po že(5,4) Zdroj: Foltýnek, Tomáš a Přichystal, Jan. Komprimace a šifrování. Zdroj: Večerka, Arnošt. Komprese dat

Slovníkové metody komprese – LZW84 Použití: Gif, tiff, zip Na 20 let byl chráněn patentem Zdroj: Foltýnek, Tomáš a Přichystal, Jan. Komprimace a šifrování.

Statistické metody komprese Huffmanovo kódování „Konvertuje znaky vstupního souboru do bitových řetězců různé délky. Znaky, které se ve vstupním souboru vyskytují nejčastěji, jsou konvertovány do bitových řetězců s nejkratší délkou (nejfrekventovanější znak tak může být konvertován do jediného bitu), znaky, které se vyskytují velmi zřídka, jsou konvertovány do delších řetězců (mohou být i delší než 8 bitů). Nejjednodušší metoda komprese touto metodou probíhá ve dvou fázích. První projde soubor a vytvoří statistiku četností každého znaku. Ve druhé fázi se využije této statistiky pro vytvoření binárního stromu a k následné kompresi vstupních dat.“ Zdroj: http://cs.wikipedia.org/wiki/Huffmanovo_k%C3%B3dov%C3%A1n%C3%AD

Ztrátové kompresní algoritmy Ztrátové kompresní algoritmy se používají tam, kde nevadí určité zkreslení informací (obraz, audio, video). Psychovizuálním model pro obrazová data Psychoakustický model pro zvuková data

Psychoakustický model Klíčové znalosti pro ztrátovou kompresi obrazu: Lidské oko je mnohem citlivější na jas barvy, než na její odstín. Lidské oko má větší citlivost na nízké frekvence, než na vysoké. Při ztrátové kompresi jsou tedy přednostně komprimovány (a tedy zkreslovány) právě tyto informace.

Kompresní algoritmus JPEG Pro velké obrázky z mnoha barvami se bezztrátové komprimační algoritmy nehodí. Algoritmus využívá tzv. diskrétní kosinová transformace (DCT)

Kompresní algoritmus JPEG „Metoda je vhodná především pro kódování fotografií, u nichž sousední pixely mají sice odlišné, ale přesto blízké barvy. Snižování kvality se projevuje potlačováním rozdílů v blízkých barvách. U metody DCT je kompresní poměr řízen požadavkem na výši kvality dekomprimovaného obrazu. V praxi se ukazuje, že snížení kvality na 75 % je pro většinu uživatelů nepozorovatelné, přitom kompresní poměr v takovém případě může být až 25:1.“ Zdroj: Foltýnek, Tomáš a Přichystal, Jan. Komprimace a šifrování.

Postup kompresního algoritmu 1. Transformace barev z barevného prostoru RGB do YCBCR – kvůli aplikaci komprese využívající psychovizuálního modelu (barevné složky budou ve výsledku více zkreslené, než složky jasové) 2. Podvzorkování barevných složek – redukce objemu dat zprůměrováním barevných složek sousedních pixelů

Postup kompresního algoritmu 3. Rozdělení obrazu na čtverce 8 × 8 4. Aplikace dopředné diskrétní kosinové transformace na prvky čtvercové matice vzniklé v minulém kroku

Postup kompresního algoritmu 5. Kvantování koeficientů matice – v tomto kroku se určuje stupeň komprese obrazu) 6. Zkomprimování kvantovaných koeficientů pomocí Huffmanova kompresního algoritmu – po předchozím kroku má mnoho prvků matice nulovou hodnotu

Transformace barev Transformace z barevného prostoru RGB do barevného prostoru YCBCR je přesně definována ve specifikaci JFIF, ve které jsou uvedeny jak rovnice pro převod z barevného prostoru RGB do YCBCR, tak rovnice pro převod inverzní.

Transformace barev Specifikace předpokládá, že složky RGB a YCBCR jsou reprezentovány jako celá čísla v rozsahu 0 až 255. Ačkoliv tato transformace je v principu bezztrátová, tyto samotné převody jsou do určité míry ztrátové, protože dochází k zaokrouhlování výsledků na celá čísla.

YCBCR Jasová složka barvy – Y (luma) Barevné složky – CB a CR (chroma) Na tuto složku je lidské oko nejvíce citlivé a podléhá tedy nejmenší kompresi. 𝑌=0,299𝑅+0,587𝐺 +0,114𝐵 Barevné složky pro modrou a červenou barvu. 𝐶 𝐵 =−0,1687𝑅−0,3313𝐺+0,5𝐵+128 𝐶 𝑅 =0,5𝑅−0,4187𝐺+0,0813𝐵+128 Barevná složka pro zelenou se neuvádí, protože je jí možno z Y, CB a CR dopočítat.

Zpětný převod 𝑅=𝑌+1,402× 𝐶 𝑅 −128 𝑅=𝑌+1,402× 𝐶 𝑅 −128 𝐺=𝑌−0,34414× 𝐶 𝐵 −128 −0,71414× 𝐶 𝑅 −128 𝐵=𝑌+1,772× 𝐶 𝐵 −128

Podvzorkování barevných složek Protože lidské oko je mnohem méně citlivé na barvy, než na jas, využívá se podvzorkování (nebo také redukce) barvonosných složek pro zvýšení efektivity kompresního algoritmu. Jedná se o první významněji ztrátový převod, protože informace o barvách v tomto procesu zanikají.

Podvzorkování barevných složek Podvzorkování funguje tak, že z hodnot barevných složek sousedních pixelů je spočítána průměrná hodnota. Jsou přípustné dvě možnosti:

Podvzorkování barevných složek Průměrování hodnot dvou sousedních pixelů na řádku. Úspora dat ze 6 bytů na 4, kompresní poměr tedy asi 67%. Průměrování hodnot pixelů tvořící čtverec 2×2 Úspora dat ze 12 bytů na 6, kompresní poměr tedy 50%.

Rozdělení obrazu na čtverce 8 × 8 Obrázek je rozdělen na čtvercové bloky o rozměrech 8 × 8 pixelů. Tohoto rozdělení lze později využít pro rychle generování náhledového obrázku.

Rozdělení obrazu na čtverce 8 × 8 Pokud není výška nebo šířka obrázku dělitelná osmi, je nutné tyto „okrajové“ bloky vhodně doplnit do požadovaného rozměru 8 × 8 pixelů. Způsob doplnění je ponechán na konkrétním software, který obrázek zpracovává. Obvykle se používá zrcadlení již existujících pixelů.

Aplikace dopředné diskrétní kosinové transformace Nyní máme matici 8 × 8 pixelů, kde každý prvek této matice obsahuje informaci o jasu (složka Y) a o barvě (složky CB a CR). Od všech jednotlivých složek se odečte hodnota 128, čímž se přetransformuje jejich rozsah do intervalu -128 až 127

Aplikace dopředné diskrétní kosinové transformace Jednotlivé složky se budou nyní dopřednou DCT zpracovávat samostatně. DCT je nutno provést celkem třikrát: jednou pro jasovou složku Y a dvakrát pro barevné složky CB a CR. Účelem DCT je přetransformovat tuto matici do matice nové, ve které budou, z hlediska lidského vnímání, nejdůležitější prvky uvedeny v levém horním rohu a směrem k rohu levému bude jejich důležitost klesat.

Aplikace dopředné diskrétní kosinové transformace Transformace se pro jednotlivé prvky provádí pomocí rovnice: 𝑪 𝒊 , 𝑪 𝒋 Funkce, pro které platí: 𝐶 0 = 1 2 a 𝐶 𝑖 =𝐶 𝑗 =1 pro 𝑖, 𝑗≠0 𝑵 Rozměr matice. V tomto případě tedy platí 𝑁=8. 𝒇 𝒎,𝒏 Hodnota matice v bodě 𝑚, 𝑛.

Aplikace dopředné diskrétní kosinové transformace Výsledkem transformace je matice, která v levém horním rohu obsahuje tzv. stejnosměrný koeficient (DC), u něhož jsou hodnoty Y, CB a CR průměrné celého bloku matice.

Aplikace dopředné diskrétní kosinové transformace Výsledkem transformace je matice, která v levém horním rohu obsahuje tzv. stejnosměrný koeficient (DC), u něhož jsou hodnoty Y, CB a CR průměrné celého bloku matice.

Aplikace dopředné diskrétní kosinové transformace Ostatní koeficienty jsou tzv. střídavé (AC). Čím vyšší frekvenci tyto koeficienty mají, tím je jejich důležitost nižší a mohou se v následujícím kroku více zkomprimovat (a tedy více zkreslit jejich hodnota).

Kvantování koeficientů matice Až na proces podvzorkování barvonosných složek dosud algoritmus dosud neprováděl žádnou kompresi. Ta nejdůležitější část komprese – kvantování koeficientů tabulky – se provádí právě zde.

Kvantování koeficientů matice Z předchozího kroku je připravena matice, která má v určité části důležité koeficienty a v jiné méně důležité až téměř nevýznamné. Každý prvek této matice se celočíselně vydělí hodnotami z tzv. kvantizační tabulky.

Kvantování koeficientů matice Kvantizační tabulky obsahují nízké hodnoty u důležitých členů (nízkofrekvenčních) a vysoké hodnoty u důležitých členů (vysokofrekvenčních). Po tomto procesu tedy vzniknou u vysokofrekvenčních prvků převážně nuly. Zdroj: http://www.root.cz/clanky/programujeme-jpeg-kvantizace-dct-koeficientu/

Kvantování koeficientů matice Výsledná kvalita závisí převážně na použité kvantizační tabulce. Proto obvykle existují pro různé stupně komprese různé tabulky. Kvantizační tabulky nejsou dány normou, a proto každý výrobce softwaru může zvolit vlastní sadu kvantizačních tabulek.

Kvantování koeficientů matice Často aplikace neobsahuje pro každý stupeň komprese specifickou kvantizační tabulku. Tento problém se řeší pomocí lineární interpolace ze známých příslušných hodnot ostatních kvantizačních tabulek.

Kvantování koeficientů matice Zdroj: http://www.root.cz/clanky/programujeme-jpeg-kvantizace-dct-koeficientu/

Zkomprimování kvantovaných koeficientů V aktuálním stavu obsahuje kvantovaný blok 8 × 8 pixelů mnoho pixelů v části vysokofrekvenčních členů. Tento blok nyní stačí už pouze zkomprimovat pomocí Huffmanova kompresního algoritmu.

Zkomprimování kvantovaných koeficientů Matice je komprimována postupně „cik-cak“ od členu s nejnižší frekvencí (stejnosměrný člen – DC) po člen s nejvyšší frekvencí. Tímto postupem Huffmanovo kódování dosáhne nejvyšší účinnosti díky opakování mnoha nul po sobě. Zdroj: http://www.root.cz/clanky/programujeme-jpeg-kvantizace-dct-koeficientu/

Zkomprimování kvantovaných koeficientů Tímto krokem je samotná komprimace dokončena. Nyní zbývá už jen data uložit v podobě dle specifikace, přidat hlavičku a ostatní metadata (EXIF, IPTC apod.).

Zdroje Foltýnek, Tomáš a Přichystal, Jan. Komprimace a šifrování. [Online] [Citace: 6. 4 2012.] https://akela.mendelu.cz/~foltynek/KAS/elearning/KAS_PDF.pdf. Večerka, Arnošt. Komprese dat. [Online] 2008. [Citace: 6. 4 2012.] phoenix.inf.upol.cz/esf/ucebni/komprese.pd. Tišnovský, Pavel. Programujeme JPEG: diskrétní kosinová transformace (DCT). Root.cz. [Online] 4. 1 2007. [Citace: 6. 4 2012.] http://www.root.cz/clanky/programujeme-jpeg-diskretni-kosinova-transformace-dct/. —. Programujeme JPEG: Kvantizace DCT koeficientů. Root.cz. [Online] 11. 1 2007. [Citace: 6. 4 2012.] http://www.root.cz/clanky/programujeme-jpeg-kvantizace-dct-koeficientu/. Bařina, David. Ztrátová komprese obrazu. FIT VUT Brno. [Online] 2007. [Citace: 6. 4 2012.] www.fit.vutbr.cz/study/DP/rpfile.php?id=5779. Data compression ratio. Wikipedia. [Online] [Citace: 6. 4 2012.] http://en.wikipedia.org/wiki/Data_compression_ratio. Komprese Dat. Wikipedia. [Online] [Citace: 1. 4 2012.] http://cs.wikipedia.org/wiki/Komprese_dat.