JPG-dokumentum (.jpg)
ISO/IEC SzabványA JPEG a digitális fényképezés és a webes grafika legszélesebb körben elterjedt veszteséges tömörítési szabványa, amely kihasználja az emberi szem nagyobb érzékenységét a luminanciára a krominanciával szemben.
PNG konvertálása erre: JPG
Ingyenes, böngészőben használható PNG-konverter JPG formátumba. A fájlokat azonnal konvertálhatja az eszközén.
JPG tömörítése online
Privát - a fájlok soha nem hagyják el az eszközét
Vizsgálat és metaadatok
Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) JPG fájlokat:
Bájtszintű fejlécaláírás (fájlazonosító bájtok)
Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) JPG fájlokat:
HEX ALÁÍRÁS (ELTOLÁS 0):
FF D8 FFASCII ÁBRÁZOLÁS: ÿØÿ
Szabványosítás: ISO/IEC 10918-1 / ITU-T T.81
Műszaki specifikációk
| Konténer architektúra | Jelölőkkel határolt bináris adatfolyam (0xFF előtaggal), JFIF vagy EXIF fejlécekbe csomagolva |
| Tömörítés | Veszteséges diszkrét koszinusztranszformáció (DCT) + futamhossz-kódolás és Huffman-entrópiakódolás |
| Bájtsorrend | nagy bájtsorrendű a jelölőhosszakhoz és kvantálási táblákhoz; az Exif lehet kis bájtsorrendű (II) vagy Big (MM) is |
| Színterek | sRGB, Adobe RGB, CMYK, Y'CbCr, Grayscale |
| Csatornák és struktúra | Csatornánként 8 bit (24 bites valódi színes) vagy 8 bites szürkeárnyalatos |
| Max. méretek | 65 535 x 65 535 képpont (2-bájtos előjel nélküli egész számok) |
| Átlátszóság | Nincs (csak átlátszatlan; nincs alfacsatorna-támogatás) |
| Streaming és progresszív | A progresszív JPEG-kódolás több spektrális menetben, az alacsonyabbtól a magasabb felbontás felé haladva tárolja az adatokat |
Műszaki összehasonlító mátrix: JPG vs. versenytársak
| Technikai attribútum | JPG (Jelenlegi) | WebP | AVIF | PNG |
|---|---|---|---|---|
| Tömörítési paradigma | Veszteséges DCT + Huffman kódolás | Veszteséges (VP8) és veszteségmentes | Veszteséges (AV1) és veszteségmentes | Veszteségmentes Deflate |
| Alfa-átlátszóság | Nincs alfacsatorna-támogatás (mindig átlátszatlan) | 8 bites alfa-átlátszóság | 8 bites / 10 bites / 12 bites alfa | Teljes 8 bites / 16 bites alfa |
| Hardveres dekódolás | A dedikált hardveres JPEG-dekódolás támogatása a chip és az eszköz függvénye. | Elterjedt hardveres dekódolás a modern SoC-kban | Gyorsan terjedő hardveres dekódolás a modern GPU-kban | CPU-alapú gyors dekódolás |
| Tömörítési hatékonyság | Jó alapszint fényképekhez | A JPEG-nél kisebb is lehet; az eredmény a képtől és a kódolótól függ. | A JPEG-nél kisebb is lehet; az eredmény a képtől és a kódolótól függ. | Nem hatékony fényképes tartalom esetén |
| Színmélység | Szabványosan csatornánként 8 bit (24 bites Truecolor) | Csatornánként 8 bit | 10 bites és 12 bites HDR, széles színtér | Csatornánként 8 bit és 16 bit |
Gyakori sérülési módok és hexadecimális helyreállítási útmutató
A képnézegető a 'Premature end of JPEG file' üzenetet mutatja, vagy a fotó alsó része egyszínű szürke, illetve színes sávok jelennek meg rajta.
Kiváltó ok: Megszakadt letöltés vagy hiányos tárhelyre írás, amelyből hiányzik a 0xFFD9 (EOI) zárójelölő és a képadatok egy része.
Helyreállítás: Illessze be a 0xFFD9 jelölőt a csonka adatfolyam végére, hogy a dekódolók megjeleníthessék a fénykép sértetlen felső részét.
A kép színei erősen eltolódnak, invertálódnak vagy pszichedelikussá válnak.
Kiváltó ok: A CMYK színtér fejléce hibás, vagy a beágyazott ICC-profil érvénytelen.
Helyreállítás: Alakítsa át a színtért CMYK-ból sRGB-be az ImageMagick segítségével ('magick broken.jpg -colorspace sRGB fixed.jpg').
A fájl nem nyitható meg, és 'Invalid marker found' hibát jelez.
Kiváltó ok: Adatsérülés a kvantálási tábla (DQT 0xFFDB) vagy a Huffman-tábla (DHT 0xFFC4) fejlécében.
Helyreállítás: Cserélje ki a sérült fejlécjelölőket egy ép JPEG-ből kinyert szabványos alapszintű JFIF Huffman- és kvantálási táblákra.
Biztonsági elemzés és elemző (parser) támadási vektorok
A JPEG biztonsági kockázatai elsősorban a metaadatok (EXIF) kiszivárgásából és a régi C-alapú dekódolókban (libjpeg) előforduló puffertúlcsordulásokból erednek.
Ismert támadási vektorok
- Érzékeny metaadatok kiszivárgása: eltávolítatlan EXIF-fejlécek, amelyek GPS-koordinátákat, fényképezőgép-sorozatszámokat és bélyegképeket tartalmaznak.
- Puffertúlolvasások és egészérték-túlcsordulások a régi libjpeg elemzőjében, amelyek megsértik az újraindítási jelölőket (RST) vagy a progresszív pásztázási sorozatokat.
- Poliglott fájlok, amelyek JPEG-fejléceket kombinálnak végrehajtható ZIP- vagy RAR-archívumokkal.
Ajánlott védekezési módszerek: Mindig távolítsa el az EXIF-metaadatokat és a GPS-helyadatokat a felhasználói fotók közzétételekor, hogy megvédje a felhasználók magánszféráját. Használjon modern, memóriabiztos dekódolókat (például az image-rs-t Rustban) vagy WebAssembly-alapú, homokozóban futó dekódolókat.
Történeti háttér és mérföldkövek
Főbb előnyök
- A JPEG-dekódolást számos képkezelő szoftver és eszköz támogatja, de a kompatibilitás az eszköztől és az alkalmazástól függ.
- Kiváló tömörítési arányok (10:1-20:1) folyamatos tónusú fényképek esetén.
- Kis fájlméret, progresszív megjelenítési képességgel.
Technikai korlátok és hátrányok
- A veszteséges tömörítés tömörítési hibákat (peremcsengést és kockásodást) okoz az éles szélek mentén.
- Nincs átlátszóságicsatorna-támogatás.
- Generációs veszteség lép fel minden alkalommal, amikor egy fájlt kitömörítenek, szerkesztenek és újramentenek.
Érdekes technikai tudnivalók
- A klasszikus „Lenna” tesztképet, amelyet a JPEG-tömörítés fejlesztéséhez használtak, a Playboy magazin 1972. novemberi számából olvasták be.
- A JPEG 4:2:0 almintavételezés a felére csökkenti a színfelbontást vízszintesen és függőlegesen is, szinte észlelhetetlen minőségromlással.
- Minden szabványos JPEG 0xFFD8 (Start of Image) jelölővel kezdődik és 0xFFD9 (End of Image) jelölővel ér véget.
Gyakran Ismételt Műszaki Kérdések
Miért csökkenti a képminőséget egy JPEG fájl többszöri mentése?
A JPEG visszafordíthatatlanul veszteséges tömörítési formátum. Minden alkalommal, amikor dekódol és újrament egy JPEG-fájlt, a DCT-kvantálás eldobja a nagyfrekvenciás térbeli részleteket, és újrabecsüli a 8 × 8 képpontos blokkokat. Ez halmozódó, „generációs veszteségnek” nevezett képhibákat okoz.
Mi az a progresszív JPEG, és miért hasznos?
A szabványos alapszintű JPEG-et sorról sorra, felülről lefelé dekódolja a rendszer. A progresszív JPEG több spektrális menetben kódolja a képadatokat, így a böngészők azonnal megjeleníthetik az egész képet alacsony felbontású, elmosódott formában, majd a bájtok letöltésével fokozatosan élesíthetik.
Mi az a szín-almintavételezés (4:2:0 vs 4:4:4)?
Az emberi retinában több pálcikasejt (luminancia/fényesség) található, mint csapsejt (színérzékelésért felelős sejt). A JPEG ezt úgy használja ki, hogy megőrzi a teljes fényességfelbontást (Y), miközben vízszintesen és függőlegesen is felére csökkenti a színfelbontást (Cb, Cr) (4:2:0), így a tömörítés előtt elhagyja a nyers adatok 50%-át, észrevehetetlen minőségromlással.
Lehet egy JPEG képnek átlátszó háttere?
Nem. A szabványos JPEG specifikáció nem ismeri az alfacsatorna fogalmát. Ha átlátszóságra van szükség, konvertálnia kell a képet WebP, AVIF vagy PNG formátumra.
Kapcsolódó JPG konverziós párok
A PNG-raszterképek JPEG-formátumba alakítása veszteséges tömörítéssel csökkenti a fájlméretet, így a képek gyorsabban töltődnek be a webhelyeken, és kevesebb tárhelyet foglalnak.
A veszteséges JPEG-raszterkép veszteségmentes PNG-raszterképpé alakítása megakadályozza a további minőségromlást, és lehetővé teszi az alfa-csatorna használatát az átlátszósághoz.
A JPEG WebP-vé alakításával csökkenhet a fájlméret hasonló vizuális minőség mellett, bár az eredmény a kép tartalmától és a kódolási beállításoktól függ.
A WebP JPEG-vé alakításával az állókép könnyebben használható olyan szoftverekben, amelyek nem támogatják a WebP-t; a JPEG nem őrzi meg az átlátszóságot vagy az animációt.
A HEIC-fényképek JPEG-képekké alakítása az Apple alapértelmezett kamerás formátumát széles körben olvasható raszterfájlokká alakítja, amelyek régebbi szoftverekkel és webböngészőkkel is használhatók.
Az AVIF-képek JPEG-vé alakítása segíthet olyan régebbi szoftverek használatakor, amelyek nem támogatják az AV1 Image File Format formátumot.
A hagyományos JPEG-képek AVIF-formátumba alakítása jelentősen csökkenti a fájlméretet, miközben a modern videokódolási technológiának köszönhetően megőrzi a kép jó minőségét.
Konvertálja a nehéz Adobe Photoshop PSD-kompozíciókat kompakt, univerzálisan megtekinthető JPEG-fotókká.