PNG (Portable Network Graphics) David Majda 2. Ročník MFF UK

Slides:



Advertisements
Podobné prezentace
PLAYBOY Kalendar 2007.
Advertisements

Počítačová grafika.
III/2 XVII AB
Téma č.2 Datové formáty grafiky, jejich specifika a možnost využití
ZÁKLADY GRAFIKY Ing. Tomáš Kostka UNIV 2 – KRAJE; TWS_02.
Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
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
Aktuální informace o vyšetřování c-erb-2 genu v referenční laboratoři a návrh změny v indikačních kritériích Hajdúch M., Petráková K., Kolář Z., Trojanec.
Webové formáty Bohumil Bareš. -1- Rozdělení grafických formátů  firemní (PSD, AI, FLA……)  univerzální (GIF, JPEG, TIFF, PNG…)  bitmapové (rastrové,
Aplikační a programové vybavení
PROGRAM PRO VÝUKU T ČLÁNKU
AutorMgr. Lenka Závrská Anotace Očekávaný přínos Tematická oblastOperace s reálnými čísly Téma PředmětMatematika RočníkPrvní Obor vzděláváníUčební obory.
Formáty grafických souborů
Základní škola národního umělce Petra Bezruče, Frýdek-Místek, tř. T. G. Masaryka 454 Projekt SIPVZ 2005.
Násobíme . 4 = = . 4 = = . 4 = = . 2 = 9 .
Výzkumy volebních preferencí za ČR a kraje od
NÁSOBENÍ ČÍSLEM 10 ZÁVĚREČNÉ SHRNUTÍ
Vizualizace projektu větrného parku Stříbro porovnání variant 13 VTE a menšího parku.
Vzdělávací materiál / DUMVY_32_INOVACE_02B14 Příkazový řádek: obsah souborů PŘÍKLADY AutorIng. Petr Haman Období vytvořeníLeden 2013 Ročník / věková kategorie3.
VY_32_INOVACE_INF_RO_12 Digitální učební materiál
Dělení se zbytkem 3 MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA
MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA reg. č.: CZ.1.07/1.4.00/ Základní škola, Šlapanice, okres Brno-venkov, příspěvková organizace Masarykovo nám.
VY_32_INOVACE_ 14_ sčítání a odčítání do 100 (SADA ČÍSLO 5)
Zábavná matematika.
Dělení se zbytkem 6 MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA
Dělení se zbytkem 5 MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA
Letokruhy Projekt žáků Střední lesnické školy a střední odborné školy sociální ve Šluknově.
KASKÁDOVÉ STYLY 4.
Referát č. 18 Počítačová grafika, prezentace (základní pojmy a principy z oblasti počítačové grafiky, grafické a multimediální formáty, jejich vlastnosti.

Čtení myšlenek Je to až neuvěřitelné, ale skutečně je to tak. Dokážu číst myšlenky.Pokud mne chceš vyzkoušet – prosím.
Posloupnosti, řady Posloupnost je každá funkce daná nějakým předpisem, jejímž definičním oborem je množina všech přirozených čísel n=1,2,3,… Zapisujeme.
Dělení se zbytkem 8 MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA
Informatika pro ekonomy II přednáška 3
Zásady pozorování a vyjednávání Soustředění – zaznamenat (podívat se) – udržet (zobrazit) v povědomí – představit si – (opakovat, pokud se nezdaří /doma/)
Grafické formáty.
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.
EDITOR BY: SPRESS 15. ledna ledna ledna 2015.
Sčítání, odčítání do sta
Úkoly nejen pro holky.
Počítačová grafika 18. Marcel Svrčina.
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.
CSS – vlastnosti textu text-align (vodorovné zarovnání)
Číslo projektuCZ.1.07/1.5.00/ Číslo materiáluVY_32_INOVACE_060 Název školyGymnázium, Tachov, Pionýrská 1370 Autor Ing. Roman Bartoš Předmět Informatika.
Přednost početních operací
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.
Počítačová grafika.
GRAFIKA.
FORMÁT Vypracoval: Kopecký Marek Vypracoval: Kopecký Marek Počítačová grafika a CAD, zimní semestr TÉMA - Formát PNG.
Počítačová grafika a prezentace
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ý.
Počítačová grafika.
Kompresní algoritmus LZW Dokumentografické informační systémy.
Barevná hloubka: Ukázky obrázků ještě jednou:
Základy HTML 1 Vložení obrázku. 2 Grafické formáty První předpoklad pro vložení obrázku do stránky je jeho uložení ve vhodném formátu. Prohlížeče podporují.
Počítačová grafika a CAD 1. Způsoby uložení grafické informace Rastr (grid, bitmapa …) Vektor.
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á.
Rastrová grafika (bitmapová) Obrázek poskládaný z pixelů Televize, monitory, fotoaparáty Kvalitu ovlivňuje barevná hloubka a rozlišení Barevná hloubka.
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.
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?
Ivo Peterka FHS Grafické formáty pro WWW ● Pro vkládání obrázků do prezentací se používají následující formáty – Graphics Interchange Format.
Ivo Peterka, FHS UK, Barvy a barevné systémy Formáty obrázků pro WWW.
Počítačová grafika Rastrová a vektorová grafika Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Růžena Hynková. Dostupné z Metodického.
Grafické formáty Definují způsob popisu a uložení grafických dat
Rastrová grafika Základní termíny – Formáty rastrové grafiky.
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.
Transkript prezentace:

PNG (Portable Network Graphics) David Majda 2. Ročník MFF UK

PNG (Portable Network Graphics) 2 Obsah prezentace historie vlastnosti struktura použité algoritmy implementace v současném SW

PNG (Portable Network Graphics) 3 Historie PNG 90. léta – počátky internetu dominují formáty GIF, JPEG patentové problémy s kompresním algoritmem LZW (UniSys) použitém v GIF v té době vzniká W3C ( jedním z prvních úkolů je návrh nového grafického formátu – v roce 1996 vzniká PNG 1.0 specifikace na dnes PNG 1.2 (1999) my se budeme zabývat verzí 1.0 (rozdíly nejsou velké)

PNG (Portable Network Graphics) 4 Vlastnosti PNG (1/2) rastrový formát indexované barvy – 1, 2, 4, 8 bitů truecolor – 24, 48 bitů odstíny šedé (grayscale) – 1, 2, 4, 8, 16 bitů průhlednost alfa kanál bezztrátová komprese, nezatížená patenty

PNG (Portable Network Graphics) 5 Vlastnosti PNG (2/2) „streamability“ – lze číst/zapisovat postupně (tj. bez seeků) – důležité při generování „on-the-fly“ „progressive rendering“ – postupné zobrazování ještě nenačteného obrázku detekce porušení souboru platformní nezávislost (network byte order) jednoduchost (všechny použité algoritmy triviální, až na kompresi a CRC) gamma, histogram, doplňující informace rozšiřitelnost – uživatelské bloky…

PNG (Portable Network Graphics) 6 Povšimněte si… žádné animace (řeší formát MNG) žádná ztrátová komprese (řeší JPEG) žádná možnost ukládání bez komprese žádné CMYK apod.

PNG (Portable Network Graphics) 7 Struktura souboru hlavička IHDR IDAT 1 … IDAT N IEND … … bloky („chunks“) PLTE

PNG (Portable Network Graphics) 8 Hlavička PNG souboru prvních 8 bajtů detekuje některé chyby při přenosu HEX: DEC e 47 0d 0a 1a 0a ASCII: \211 P N G \r \n \032 \n detekce 7bitových přenosových cest Ctrl+Z (MS-DOS) detekce záměny \n za \r\n a naopak (př. ASCII mód FTP)

PNG (Portable Network Graphics) 9 Struktura bloku délka typ/název data CRC 32-bit unsigned integer 4x byte (ASCII char) obsah závislý na typu bloku 32-bit unsigned integer

PNG (Portable Network Graphics) 10 Typ/název bloku 4 ASCII znaky case-sensitive, 5. bit určující velikost písmen má speciální význam (malé = 1, velké = 0) tEXt možno kopírovat po úpravě obrázku? („safe-to-copy“) – význam jen u doplňkových rezervováno – vždy 0 soukromý blok? („private“) doplňkový blok? („ancillary“)

PNG (Portable Network Graphics) 11 Blok IHDR (1/1) - struktura povinný, první blok souboru šířka výška bitová hloubka způsob uložení barevné informace komprese filtrování prokládání 32-bit integer 1 byte – 1, 2, 4, 8, 16 1 byte – 0, 2, 3, 4, 6 1 byte – vždy 0 (deflate/inflate) 1 byte – vždy 0 (adaptivní filtrování) 1 byte – 0 (žádné) nebo 1 (Adam7)

PNG (Portable Network Graphics) 12 Blok IHDR (1/2) – způsoby uložení barevné informace Způsob uložení Povolené bitové hloubky Co znamená jeden „vzorek“? 01, 2, 4, 8, 16odstín šedé 28, 16RGB hodnota 31, 2, 4, 8 index do palety (nutný PLTE blok) 48, 16odstín šedé + alfa 68, 16RGB hodnota + alfa

PNG (Portable Network Graphics) 13 Blok PLTE barevná paleta obrázku nutný u typu 3, volitelný u typů 2 a 6 (doporučená paleta), jindy nesmí být musí být před prvním blokem IDAT počet záznamů = 1..bitová hloubka záznamy vzorkovány 8 BPP 1.2: sPLT – doporučená paleta R1R1 G1G1 B1B1 R2R2 G2G2 B2B2 RNRN GNGN BNBN

PNG (Portable Network Graphics) 14 Blok IDAT obsahuje vlastní data obrázku může se vyskytnout vícekrát za sebou, ale vždy alespoň jednou IDAT 1 IDAT N … komprese originál filtr

PNG (Portable Network Graphics) 15 Blok IEND povinný neobsahuje vůbec nic, jen vyznačuje konec souboru

PNG (Portable Network Graphics) 16 Blok gAMA doplňkový, před PLTE a IDAT kóduje gamma informaci obrázku 32-bitový unsigned integer, 0.74 = output = input^gamma

PNG (Portable Network Graphics) 17 Blok tRNS doplňkový, musí být před IDAT a za PLTE informace o průhlednosti Typ 3 (indexované barvy) – 1..n bajtů s informací o průhlednosti pro položky palety, n ≤ počet barev v paletě, zbytek je neprůhledný Typ 0 (odstíny šedé) – 2 bajty určující průhlednou barvu, ostatní jsou neprůhledné Typ 2 (RGB) – 3×2 bajty určující průhlednou barvu, ostatní jsou neprůhledné Typy 4 a 6 – mají alfa kanál

PNG (Portable Network Graphics) 18 Blok pHYs doplňkový, před IDAT fyzické rozměry obrázku pixelů/jednotku X pixelů/jednotku Y jednotky 32-bit signed integer 1 byte – 0 = neznámá jednotka (jen poměr výšky a šířky pixelu), 1 = metry

PNG (Portable Network Graphics) 19 doplňkový, může se opakovat obsahuje textové informace (ISO ) zTXt má text zkomprimovaný 1.2: iTXt – UTF-8 Bloky tEXt + zTXt (1/2) klíčové slovo \0 text znaků 1 byte n znaků

PNG (Portable Network Graphics) 20 Bloky tEXt + zTXt (2/2) klíčová slova jsou case- sensitive ignorují se mezery na počátku, na konci a více mezer po sobě některá klíčová slova jsou předdefinovaná specifikace nebrání používání jiných klíčových slov – rozšiřitelnost Title Author Description Copyright Creation Time Software Disclaimer Warning Source Comment

PNG (Portable Network Graphics) 21 Blok tIME doplňkový čas poslední modifikace, v UTC/GMT editory nemodifikující obrazová data by čas neměly měnit rok měsíc den hodina minuta sekunda 16-bit unsigned integer (1995, ne 95) 1 byte – byte – byte – byte – byte – (ha!)

PNG (Portable Network Graphics) 22 Které bloky jsme vynechali? cHRM – barevná kalibrace obrázku sBIT – u obrázků s paletou, které jsou zkonvertované z menší bitové hloubky bKGD – barva pozadí hIST – histogram 1.2: iTXt – textové informace v UTF-8 1.2: sPLT, iCCP, sRGB – další barevné informace

PNG (Portable Network Graphics) 23 Kompresní algoritmus definována jen jedna metoda – inflate/deflate metoda popsána v RFC-1951 odvozena od LZ77 používána v programech zip, gzip apod. existují volně dostupné implementace ( zlib )

PNG (Portable Network Graphics) 24 Filtrovací algoritmy (1/4) definována jen jedna metoda – adaptivní filtrování fungují na bajtech, nikoliv na pixelech na každý řádek obrázku lze použít jiný filtr => adaptivita daň = 1 byte u každého řádku navíc

PNG (Portable Network Graphics) 25 Filtrovací algoritmy (2/4) 1. None 2. Sub Sub(x) = Raw(x) – Raw(x-bpp) 3. Up Up(x) = Raw(x) – Prior(x)

PNG (Portable Network Graphics) 26 Filtrovací algoritmy (3/4) 4. Average Average(x) = Raw(x) – floor( (Raw(x–bpp) + Prior(x)) / 2 ) 5. Paeth Paeth(x) = Raw(x) – PaethPredictor( Raw(x–bpp), Prior(x), Prior(x–bpp) )

PNG (Portable Network Graphics) 27 Filtrovací algoritmy (4/4) function PaethPredictor (a, b, c) begin p := a + b – c; pa := abs(p – a); pb := abs(p – b); pc := abs(p – c); if (pa <= pb) and (pa <= pc) then return a else if pb <= pc then return b else return c; end

PNG (Portable Network Graphics) 28 Prokládání definována jen jedna metoda – Adam7 7 průchodů souborem každý průchod je v souboru zapsán jako by to byl samostatný obrázek oproti GIFu podstatně lepší

PNG (Portable Network Graphics) 29 Podpora ve webových prohlížečích Mozilla + Gecko-based (Netscape 6.0+, Galeon, Firebird) – 100% podpora Opera 3.51+, od 6.0 alfa kanál Konqueror + KHTML-based (Safari) Internet Explorer Win (bez alfa kanálu!), Mac 5.0+ Netscape – pochybně existují pluginy Mozilla Firebird nightly build 30-Mar-2003

PNG (Portable Network Graphics) 30 Podpora v editorech Adobe Photoshop 4.0+ Paint Shop Pro The GIMP skoro u všech spousty chyb Adobe Photoshop 6.0The GIMP 1.2.3

PNG (Portable Network Graphics) 31 Referenční implementace – libpng oficiální referenční implementace implementuje většinu vlastností PNG napsána v ANSI C open-source podporované platformy zahrnují UNIX, DOS, OS/2, Windows, Mac OS, BeOS, Amiga atd. vyžaduje knihovnu zlib nejkratší ukázka je bohužel tak na 3 slajdy (hodně low-level věcí)

PNG (Portable Network Graphics) 32 Zdroje informací specifikace formátu PNG stránky W3C věnované PNG oficiální domovská stránka PNG přehled podpory PNG v prohlížečích přehled podpory PNG v editorech patentové problémy okolo formátu GIF