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:
100% minőség: 90 588 bájt |
50% minőség: 41 683 bájt |
10% minőség: 37 140 bájt |
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)
|
|
|
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.