Szintaxis és szerkezet:

A JPEG fájl speciális markerek sorozata, melyek mindegyike 0xFF bájttal kezdődik, majd jön a marker típusjelzője. Néhány marker csak ezt a két bájtot tartalmazza, de a legtöbb markerben ezt számos egyéb adat követi, például a méretjelölő és a tartalom-mutató bájtok.

Mivel minden adat 0xFF bájttal kezdődik, de a hosszuk változó, így néha a ki nem használt bájtokat fel kell tölteni adatokkal, melyek lényegi információt nem tartalmaznak. Ezek általában a 0x00 fájt kapják meg, de ezt a megjelenítők természetesen figyelmen kívül hagyják.

Általános JPEG-marker szerkezet: (URL: http://www.digicamsoft.com/itu/itu-t81-36.html)

Név

Bájt

Töltelékadat

Leírás

Kép kezdete

0xFFD8

nincs

-

Keret kezdete

(Alap DCT)

0xFFC0

Változó hosszú

Alapértelmezett DCT. Jelzi: szélesség, magasság, komponensek száma, valamint a komponensek mintavételezése

Keret kezdete

(progresszív DCT)

0xFFC2

Változó hosszú

Progresszív DCT. Jelzi: szélesség, magasság, komponensek száma, valamint a komponensek mintavételezése

Huffman tábla definíciója

0xFFC4

Változó hosszú

Egy vagy több Huffman táblát definiál

Kvantált tábla definiálása

0xFFDB

Változó hosszú

Egy vagy több kvantált táblát definiál

Újraindítási intervallum

0xFFDD

Változó hosszú

Az RSTn (Restart) markerek közötti intervallumokat definiálja, makróblokkokban

Beolvasás kezdete

0xFFDA

Változó hosszú

Tetejétől az aljáig kezdi beolvasni a képet. Az alapértelmezett DCT JPEG képeknél ez általában egyszerű beolvasás. A progresszív képeknél ez általában többszörös olvasást jelent. A lényeges adatokat tartalmazó, illetve a csak töltelékként funkcionáló szeletek meghatározása.

Újraindítás

(Restart)

0xFFD0 … 0xFFD7

nincs

Megismétli minden r. makróblokknál a DRI eljárást, ha van ilyen. Ha nincs DRI, akkor ez kihasználatlan. A marker-kód alsó 3 bitje 0-tól 7-ig folyamatosan változik.

Alkalmazás-specifikus

0xFFE n

Változó hosszú

Például az Exif információk tárolása, vagy egyéb adatok.

Megjegyzés

0xFFFE

Változó hosszú

Szöveges megjegyzés

Kép vége

0xFFD9

nincs

-

Minta a képminőség romlására:

Az alábbi kép Londonban készült a Madame Tussauds Panoptikumban. 4 verziót mutatok belőle. Méretek ugyanazok (300x225 képpont), csak a tömörítés foka más és más:

JPG 100%

100% minőség: 90 588 bájt

JPG 50%

50% minőség: 41 683 bájt

JPG 10%

10% minőség: 37 140 bájt

JPG 1%

1% minőség: 35 871 bájt

Jól látható, hogy mi is történik, ha egy képek rosszabbnál rosszabb minőségben mentünk el. A 100% még teljesen hibamentes, ám az 50%-nál már érezhető a "pixelesedés", azaz már vannak rossz minőségű foltok. A 10%-nál már kemény problémák vannak, így ez a verzió csak előtétképként használható. Végül az 1%-nál a kép gyakorlatilag szétesett. Szinte semmi sem látható az eredetiből.

A képhez hozzátartozó Exif adatok: (ezúttal angolul)

 

JPG Exif

 

 

JPG Exif

 

 

JPG Exif

 

 

 

A kép átalakítását, illetve az Exif adatok kiírását

az IrfanView 4.54-as program végezte el!

Látható, hogy itt rengeteg információt tárol a JPEG, ami a sima felhasználásnál általában felesleges, de a profik számára igen fontos lehetőséget rejt!

Szabványok

  • JPEG (veszteséges és veszteségmentes): ITU-T T.81, ISO/IEC IS 10918-1

  • JPEG (kiterjesztés): ITU-T T.84

  • JPEG-LS (veszteséges, fejlesztett): ITU-T T.87, ISO/IEC IS 14495-1

  • JBIG (fekete/fehér képekre): ITU-T T.82, ISO/IEC IS 11544-1

  • JPEG 2000 (JPEG/JPEG-LS jogutódja): ITU-T T.800, ISO/IEC IS 15444-1

  • JPEG-2000 (kiterjesztés): ITU-T T.801

  • JPEG XR (hivatalosan HD Photo) valószínű kódja: ISO/IEC 29199-2.