Obrázek JPEG (.jpg)

ISO/IEC Standardní

JPEG je nejpoužívanější standard ztrátové komprese pro digitální fotografii a webovou grafiku, který využívá vyšší citlivost lidského oka na svítivost (luminanci) než na barvu (chrominanci).

Převést PNG na JPG

Bezplatný konvertor z PNG do JPG v prohlížeči. Převeďte soubory okamžitě ve svém zařízení.

Komprese JPG online

Soukromě - soubory nikdy neopustí vaše zařízení

Kontrola a metadata

Operační systémy a analyzátory souborů identifikují soubory JPG kontrolou počáteční binární sekvence bajtů:

Vyberte nebo přetáhněte soubory sem

Soukromě - soubory nikdy neopustí vaše zařízení

nebo vložte Ctrl+V
Záruka ochrany soukromí s nulovým přenosem po síti: 0 bajtů odesláno na externí servery. Veškeré zpracování probíhalo lokálně v sandboxu vašeho prohlížeče.

Podpis hlavičky na úrovni bajtů (Magic Bytes)

Operační systémy a analyzátory souborů identifikují soubory JPG kontrolou počáteční binární sekvence bajtů:

HEXADECIMÁLNÍ PODPIS (POSUN 0):

FF D8 FF

ASCII REPREZENTACE: ÿØÿ

Standardizace: ISO/IEC 10918-1 / ITU-T T.81

Technické specifikace

Architektura kontejneruBinární proud oddělený značkami (s předponou 0xFF) zabalený v hlavičkách JFIF nebo EXIF
KompreseZtrátová diskrétní kosinová transformace (DCT) + kódování délky běhu a Huffmanovo entropické kódování
Pořadí bajtůBig-Endian pro délky značek a kvantizační tabulky; Exif může být Little (II) nebo Big (MM)
Barevné prostorysRGB, Adobe RGB, CMYK, Y'CbCr, Grayscale
Kanály a struktura8 bitů na kanál (24bitové Truecolor) nebo 8bitová škála šedi
Max. rozměry65 535 x 65 535 pixelů (2bajtová celá čísla bez znaménka)
PrůhlednostŽádná (pouze neprůhledné obrázky; bez podpory alfa kanálu)
Streamování a progresivní načítáníProgresivní kódování JPEG ukládá vícenásobné spektrální průchody od nízkého po vysoké rozlišení

Technická srovnávací matice: JPG vs konkurence

Technický atributJPG (Aktuální)WebPAVIFPNG
Kompresní paradigmaZtrátové DCT + Huffmanovo kódováníZtrátové (VP8) a bezztrátovéZtrátové (AV1) a bezztrátovéBezeztrátová komprese Deflate
Alfa průhlednostBez podpory alfa kanálu (vždy neprůhledné obrázky)8bitová alfa průhlednost8bitová / 10bitová / 12bitová alfaPlná 8bitová / 16bitová alfa
Hardwarové dekódováníPodpora specializovaného hardwarového dekódování JPEG závisí na čipu a zařízení.Rozšířené hardwarové dekódování v moderních SoCRychle se rozšiřující hardwarové dekódování v moderních GPURychlé dekódování založené na CPU
Kompresní účinnostDobrý základ pro fotografieMůže být menší než JPEG; výsledek závisí na obrázku a kodéruMůže být menší než JPEG; výsledek závisí na obrázku a kodéruNeefektivní pro fotografický obsah
Barevná hloubkaStandardních 8 bitů na kanál (24bitové Truecolor)8 bitů na kanál10bitový a 12bitový HDR gamut širokého barevného prostoru8 bitů a 16 bitů na kanál

Běžné režimy poškození a příručka pro obnovení v hex

Prohlížeč obrázků hlásí „Předčasný konec souboru JPEG" nebo je dolní část fotografie jednobarevně šedá či s barevnými pruhy.

Hlavní příčina: Nedokončené stahování nebo neúplný zápis na úložiště, kde chybí koncová značka 0xFFD9 (EOI) a data skenu obrázku.

Obnovení: Připojte značku 0xFFD9 na konec zkráceného proudu, což dekodérům umožní zobrazit nepoškozenou horní část fotografie.

Barvy obrázku působí silně posunuté, inverzní nebo psychedelické.

Hlavní příčina: Invertovaná hlavička barevného prostoru CMYK nebo neplatný vložený profil ICC.

Obnovení: Převeďte barevný prostor z CMYK do sRGB pomocí nástroje ImageMagick („magick broken.jpg -colorspace sRGB fixed.jpg").

Soubor se nepodaří otevřít a zobrazí se hlášení „Nalezena neplatná značka".

Hlavní příčina: Poškození bitů uvnitř hlaviček kvantizační tabulky (DQT 0xFFDB) nebo Huffmanovy tabulky (DHT 0xFFC4).

Obnovení: Nahraďte poškozené značky hlaviček standardními základními Huffmanovými a kvantizačními tabulkami JFIF extrahovanými z neporušeného souboru JPEG.

Bezpečnostní analýza a vektory útoků na parser

Zabezpečení formátu JPEG se týká především úniků soukromí v metadatech (EXIF) a přetečení vyrovnávací paměti ve starších dekodérech v jazyce C (libjpeg).

Známé vektory útoků

  • Zveřejnění citlivých metadat: Neodstraněné hlavičky EXIF obsahující souřadnice GPS, sériová čísla fotoaparátů a náhledové miniatury.
  • Přetečení čtení vyrovnávací paměti a celočíselná přetečení při parsování ve starší knihovně libjpeg poškozující restartovací značky (RST) nebo skripty progresivního skenování.
  • Polyglotní soubory kombinující hlavičky JPEG se spustitelnými archivy ZIP nebo RAR.

Doporučené bezpečnostní postupy: Při publikování uživatelských fotografií vždy odstraňte EXIF a metadata geografické polohy GPS, abyste chránili soukromí uživatelů. Používejte moderní dekodéry bezpečné pro paměť (například image-rs v jazyce Rust) nebo izolované dekodéry WebAssembly.

Historický vývoj a milníky

1998Standardy kontejnerů JFIF a EXIF upevnily dominanci digitálních fotoaparátů.
1992Specifikace JPEG ratifikována jako ISO/IEC 10918-1.
1986Skupina Joint Photographic Experts Group byla založena pod ISO a CCITT.

Klíčové výhody a přednosti

  • Dekódování JPEG široce podporují obrazové programy a zařízení, kompatibilita se však liší podle zařízení a aplikace.
  • Vynikající kompresní poměry (10:1 až 20:1) pro fotografické spojité tóny.
  • Malý objem dat a možnost progresivního vykreslování.

Technická omezení a nevýhody

  • Ztrátová komprese způsobuje kompresní artefakty (kroužkování a čtverečkování) podél ostrých hran.
  • Žádná podpora kanálu průhlednosti.
  • Ke ztrátě generace dochází při každém dekomprimování, úpravě a opětovném uložení souboru.

Zajímavé technické drobnosti

  • Klasický zkušební snímek „Lenna", který se používal při vývoji komprese JPEG, byl naskenován z vydání magazínu Playboy z listopadu 1972.
  • Podvzorkování JPEG 4:2:0 snižuje barevné rozlišení na polovinu v horizontálním i vertikálním směru, přičemž vnímatelné zhoršení kvality je téměř nulové.
  • Každý standardní JPEG začíná značkou 0xFFD8 (Start of Image) a končí značkou 0xFFD9 (End of Image).

Často kladené technické otázky

Proč vícenásobné uložení souboru JPEG snižuje kvalitu obrazu?

JPEG je nevratně ztrátový kompresní formát. Pokaždé, když JPEG dekomprimujete a znovu uložíte, krok kvantizace DCT zahodí vysokofrekvenční prostorové detaily a znovu aproximuje bloky pixelů 8x8, což způsobuje kumulativní artefakty „ztráty generace“.

Co je to progresivní JPEG a proč je užitečný?

Standardní základní JPEG se dekóduje po řádcích shora dolů. Progresivní JPEG ukládá obrazová data v několika spektrálních průchodech, což prohlížečům umožňuje okamžitě vykreslit nízkorozlišené rozostření celého obrázku a postupně jej zostřovat při stahování dalších bajtů.

Co je to podvzorkování chrominance (4:2:0 vs 4:4:4)?

Lidská sítnice má více tyčinek (luminance/jas) než čípků (barva). JPEG toho využívá tak, že zachovává plné rozlišení jasu (Y) a přitom o polovinu snižuje rozlišení barvy (Cb, Cr) horizontálně i vertikálně (4:2:0), čímž před kompresí odstraní 50 % surových dat s nepostřehnutelnou ztrátou.

Může mít obrázek JPEG průhledné pozadí?

Ne. Standardní specifikace JPEG nepočítá s alfa kanálem. Pokud je požadována průhlednost, musíte obrázek převést do formátu WebP, AVIF nebo PNG.