Grafické formáty Definují způsob popisu a uložení grafických dat Existuje mnoho druhů a typů Specifické pro různé aplikace a platformy (operační systémy) Teprve časem se některé z nich staly všeobecně uznávanými Větší rozměry, rozlišení, počet barev předlohy → větší objem dat → nutnost jejich komprese
Barevné režimy
Rozlišení DPI Zkratka DPI znamená "Dots per inch" neboli česky počet bodů na palec. V konečném důsledku to určuje, jak veliký bude jeden bod obrazu (pixel).
Typy grafických souborů V zásadě lze soubory pro ukládání grafických dat (obrázků) rozdělit na dvě skupiny, podle toho, jak je reprezentována grafická informace v nich uložená na: Bitmapové soubory Vektorové soubory
Rastrové (Bitmapové) formáty Základem rastr pixelů s informací o jejich barvě Používají se dva způsoby, jak u bitmapy vyjádřit barvu pixelů: V přímém vyjádření je hodnotou barvového atributu pixelu absolutní vyjádření barevného odstínu pixelu, hodnota udaná podle některého z barevných modelů. V nepřímém vyjádření je hodnotou barvového atributu pixelu odkaz, index do tabulky barev. Tabulka barev, té paleta, pak obsahuje přímé vyjádření barvy pro každý index.
Vektorové formáty základem jsou čáry (s danou tloušťkou, barvou a dalšími atributy), které lze matematicky popsat bezproblémová změna velikosti horší možnosti popisu barev např. formát DXF (AutoCad), nebo Flash (ten ovšem umožňuje i práci se zvukem, hypertextem atd.), POV-Ray, písma a další
Rastrová (bitmapová) vektorová Grafika Co to je Výhody Nevýhody Základem je mřížka obrazových bodů - pixelů, a její velikost (šířka × výška), při vstupu / výstupu z / na periferní zařízení (skener / tiskárna) je důležité rozlišení v dpi (kolik bodíků na palec; 1 palec je asi 2,54 cm . Základní prvkem jsou objekty (úsečka, křivka, obdélník), které lze matematicky popsat, a těmto objektům se přířazují různé atributy - tloušťka a barva čáry, vzhled výplně apod. Výhody přirozené pořízení a zobrazení na rastrových zařízeních (skener, digitální fotoaparát, monitor, tiskárna), lepší možnosti práce s barvou nézávislost na výstupním zařízení, bezproblémové transformace, snadný převod do rastru, možnost kombinace s bitmapou Nevýhody často velký nárůst objemu dat, ztráta grafické informace při transformacích, problémový převod na vektorový popis (tzv. trasování) horší možnosti práce s barvou, pro zobrazení nutno převést do rastru
Kompresní (komprimační) algoritmy bezztrátové - nedochází ke ztrátě dat ztrátové - záměrná ztráta dat kompresní poměr původní objem dat ku komprimovanému většinou ve tvaru Něco:1
JPEG - Joint Photographic Experts Group Základní požadované vlastnosti formátu: kvalitní komprese nastavitelná uživatelem nezávislost na typu obrazu přijatelná složitost softwarového kódování sekvenční i progresivní mód (viz dále)
Hlavní kroky JPEG komprese 1/ Barevná transformace
2/ Podvzorkování barevných složek Menší citlivost lidského oka na barevné složky lze využít nejjednodušeji tak, že snížíme rozlišení obrázku v barevných složkách, zatímco v jasové složce ponecháme originální rozlišení. V jasovém kanálu tak budeme mít stále informaci o obrázku např. 100x100 pixelů, zatímco v barevných kanálech pouze o obrázku rozměru 50x50 pixelů. Tohoto se dosahuje průměrováním barevných složek sousedních pixelů, a to buď 4 ve čtverci 2x2 pixely, nebo 2 ve obdélníčku 2x1 pixely. Tímto procesem se velmi znatelně zredukuje datový objem zpracovávaného obrázku.
3/ DCT - diskrétní kosinová transformace Jedná se vlastně o proces převodu prostorových souřadnic x,y do prostorových frekvencí fx a fy. A protože i statický obraz se rozkládá časově (postupně) pak se vlastně jedná o převod z časové do frekvenční oblasti.
Optimální kvantizační matice pro kvalitu 50 4/ Kvantizace Jedná se o hlavní ztrátovou část JPEG komprese, která má za cíl vyřadit z DCT koeficienty, které jsou opticky nevýznamné a proto mohou být vypuštěny. Optimální kvantizační matice pro kvalitu 50 pro barvu pro jas
5/ Kódování výsledných koeficientů Používá se v praxi Huffmanova kódování, kterým se nejčastěji vyskytujícímu se znaku přiřadí nejkratší délka slova, naopak řídce se opakující znaky se kódují dlouhými slovy. Správně by se mělo prozkoumávání četnosti provádět v každém bloku 8x8, což je v praxi nerealizovatelné, proto se určité skupiny dat kódují podle tabulek ověřených v praxi. Huffmanovo kódování David Huffman 1952 Přenos černobílých dokumentů faxem Komprese je dosaženo použitím zástupních kodů - kratších pro symboly s větší frekvencí výskytu, delších pro symboly s menší frekvencí výskytu Frekvence výskytů jednotlivých symbolů je brána z pevně stanovených tabulek, které byly získány statistickým měřením na typických dokumentech Metoda je bezztrátová Efektivní použití omezeno na obrázky v odstínech šedi nebo na jednotlivé barevné složky
Při dekódování JPEG obrazu se postupuje v opačném pořadí dekvantizace inverzní DCT zpětná transformace do původního barevného modelu
GIF - Graphics Interchange Format Graphics Interchange Format (firma CompuServe) Obrázky používající paletu max. 256 barev Komprese metodou LZW Umožňuje uložit více obrázků (i s různými paletami) do jednoho souboru → tak lze vytvářet tzv. animované gify (podporuje i cyklickou animaci, různou délku prodlev mezi snímky) - s počtem snímků a barevných palet ovšem narůstá velikost souboru Pro jednu barvu z palety je možno nastavit průhlednost (tzv. alfa-kanál) Lze nastavit prokládání řádků (interlaced) - jednotlivé řádky obrazu nejsou ukládány za sebou, ale následujícím způsobem: 1. každý osmý řádek počínaje nultým 2. každý čtvrtý řádek počínaje čtvrtým 3. každý čtvrtý řádek počínaje druhým 4. každý druhý řádek počínaje prvním
Princip komprese LZW (GIF) Komprese LZW funguje na principu kódování s použitím slovníku, který je vytvářen během výpočtu - "za chodu". Zjednodušeně algoritmus pracuje zhruba takto:
PNG - Portable Network Graphic Portable Network Graphics (zkratka se čte ping) V jistém směru nástupce GIFu Formát především pro přenos kvalitních obrázků sítí Bezztrátová komprese metodou LZW Dvourozměrné prokládání v sedmi krocích - pro řádky i sloupce Pouze jediný obrázek v souboru - nelze užít pro animace Barevná hloubka až 32 bitů (3 x 8 bitů na RGB složky, 8 bitů na alfa-kanál průhlednosti)