III Specifikacija zapisa

PAŽNJA ! Ovaj dokument nije namijenjen specificiranju PNG formata zapisa već kao kraći i jednostavniji pregled istoga. Aktualnu specifikaciju tražite ovdje.



Zaglavlje

Prvih 8 By koji određuju da li je spis PNG format glase:

Ovim slijedom jednoznačno se deklarira da je spis PNG formata (0x89, "PNG") i istovremeno omogućava da se izbjegnu i uoče uobičajeni problemi koji nastaju prilikom prijenosa podataka a to su prepoznavanje spisa kao tekstualnog (ne binarnog) spisa za prijenos (0x89), loše i nepotrebne pretvorbe sekvenci za prelazak u novi red (\r\n <-> \n) i prekid ispisa na konzoli prilikom gledanja u tekstualnom načinu (CTRL-Z == 0x1a).


Chunk blokovi

Nakon prvih 8 By slijedi niz tzv. chunk blokova, koje možemo opisati kao nositelje raznih tipova informacija.

Svaki chunk se sastoji od 4 djela:

Takav način kodiranja informacija čini ovaj zapis lako proširiv za dodavanje novih vrsta informacija uz zadržavanje kompatibilnosti sa starijim specifikacijama. Naime, ako u dekoderu definiramo da ignorira chunk koji nije bio definiran u vrijeme pisanja dekodera, nećemo imati uvid u dodatne informacije ali neće doći do pada dekodera niti krive interpretacije osnovnih podataka.

PNG specifikacijom V1.0 definirani su slijedeći standardni i specijalni chunk blokovi: IHDR, cHRM, gAMA, sBIT, PLTE, bKGD, hIST, tRNS, oFFs, pHYs, sCAL, IDAT, tIME, tEXt, zTXt, fRAc, gIFg, gIFt, gIFx,i IEND.

Osim njih, moguće je definirati i privatne chunk blokove koje neka aplikacija može koristiti za spremanje vlastitih specifičnih podataka koje druge aplikacije mogu ignorirati.


Osnovni chunk tipovi

IHDR chunk
Daje osnovne podatke o slici. Data field sadrži slijedeće podatke:

PLTE chunk
Sadrži paletu do 256 korištenih boja u PNGu s mapiranom paletom

IDAT chunk
Sadrži kompresirane podatke koji čine sliku. Podaci mogu podijeljeni u više IDAT chunk blokova kako bi se poboljšala mogućnost korekcije neispravnih ili loše prenesenih spisa.

IEND chunk
Chunk za označavanje kraja spisa. Ne sadrži nikakve podatke.

Svaki PNG spis mora sadržavati IHDR chunk, barem jedan IDAT te IEND chunk.


Sadržaj | Što je to PNG ? | Mogućnosti i karakteristike | Specifikacija zapisa | Algoritam za sažimanje | Komentar | Linkovi