JPG-bilde av dokument (.jpg)

ISO/IEC Standard

JPEG er den mest brukte tapgivende komprimeringsstandarden for digital fotografering og nettbilder, og utnytter det menneskelige øyets høyere følsomhet for luminans framfor krominans.

Konverter PNG til JPG

Gratis PNG til JPG-konverterer i nettleseren. Konverter filer umiddelbart på enheten din.

Komprimer JPG på nett

Privat - filer forlater aldri enheten din

Inspeksjon og metadata

Operativsystemer og filanalysatorer identifiserer JPG-filer ved å undersøke den innledende binære bytesekvensen:

Velg eller slipp filer her

Privat - filer forlater aldri enheten din

eller lim inn Ctrl+V
Personverngaranti uten nettverksoverføring: 0 byte ble lastet opp til eksterne servere. All behandling foregikk lokalt i det isolerte nettlesermiljøet ditt.

Filsignatur på bytenivå (magiske byte)

Operativsystemer og filanalysatorer identifiserer JPG-filer ved å undersøke den innledende binære bytesekvensen:

HEX-SIGNATUR (OFFSET 0):

FF D8 FF

ASCII-REPRESENTASJON: ÿØÿ

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

Tekniske spesifikasjoner

BeholderarkitekturMarkøravgrenset binærstrøm (0xFF-prefiks) pakket inn i JFIF- eller EXIF-hoder
KomprimeringTapsbasert diskret cosinustransformasjon (DCT) samt koding med rekkelengder og Huffman-entropikoding
BytterekkefølgeBig-Endian for markørlengder og kvantiseringstabeller; Exif kan være Little (II) eller Big (MM)
FargeromsRGB, Adobe RGB, CMYK, Y'CbCr, Gråtoner
Kanaler og struktur8-bit per kanal (24-bit Truecolor) eller 8-bit gråtoner
Maks. dimensjoner65 535 x 65 535 piksler (2-byte usignerte heltall)
GjennomsiktighetIngen (kun ugjennomsiktig; ingen støtte for alfakanal)
Strømming og progressiv visningProgressiv JPEG-koding lagrer flere spektrale passeringer fra lav til høy oppløsning

Teknisk sammenligningsmatrise: JPG sammenlignet med konkurrenter

Teknisk attributtJPG (Gjeldende)WebPAVIFPNG
KomprimeringsparadigmeTapgivende DCT + Huffman-kodingTapgivende (VP8) og tapsfriTapgivende (AV1) og tapsfriTapsfri Deflate
AlfatransparensIngen støtte for alfakanal (alltid ugjennomsiktig)8-biters alfatransparens8-biters / 10-biters / 12-biters alfaFull 8-biters / 16-biters alfa
MaskinvaredekodingMaskinvaredekoding finnes på mange GPU-er og mobile SoC-er; støtten varierer med brikke og enhetUtbredt maskinvaredekoding i moderne SoC-erRaskt voksende maskinvaredekoding i moderne GPU-erCPU-basert rask dekoding
KomprimeringseffektivitetGod basislinje for fotografierKan være mindre enn JPEG; resultatet varierer med bildet og koderenKan være mindre enn JPEG; resultatet varierer med bildet og koderenIneffektivt for fotografisk innhold
FargebitdybdeStandard 8-bit per kanal (24-bit Truecolor)8-bit per kanal10-bit & 12-bit HDR bredt fargerom8-bit & 16-bit per kanal

Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning

Bildeviseren viser «Premature end of JPEG file» eller den nedre delen av bildet er ensfarget grå eller viser fargerike bånd.

Underliggende årsak: Avbrutt nedlasting eller ufullstendig skriving til lagringsmediet der 0xFFD9 (EOI)-sluttesmarkøren og bildets nyttelast mangler.

Utbedring: Legg til markør 0xFFD9 på slutten av den avbrutte strømmen slik at dekodere kan vise den intakte øvre delen av fotografiet.

Bildene ser ut til å ha sterkt forskyvde, inverterte eller psykedeliske farger.

Underliggende årsak: Invertert CMYK-fargeromshode eller ugyldig innebygd ICC-profil.

Utbedring: Konverter fargerommet fra CMYK til sRGB ved hjelp av ImageMagick («magick broken.jpg -colorspace sRGB fixed.jpg»).

Filen åpner seg ikke og rapporterer «Invalid marker found».

Underliggende årsak: Bitkorrupsjon inne i hodene i kvantiseringstabellen (DQT 0xFFDB) eller Huffman-tabellen (DHT 0xFFC4).

Utbedring: Erstatt de skadede hodemarkørene med standard baseline JFIF Huffman- og kvantiseringstabeller hentet fra en intakt JPEG.

Sikkerhetsanalyse og angrepsvektorer mot parsere

JPEG-sikkerhet involverer hovedsakelig personvernslekkasjer i metadata (EXIF) og bufferoverflyter i eldre C-dekodere (libjpeg).

Kjente angrepsvektorer

  • Utlevering av sensitive metadata: EXIF-hoder som ikke er fjernet som inneholder GPS-koordinater, kameraserienummer og miniatyrbildeforhåndsvisninger.
  • Bufferoverlesinger og heltallsoverflyter i eldre libjpeg-parsing som korrumperer omstartmarkører (RST) eller progressive skanningsskript.
  • Polyglottfiler som kombinerer JPEG-hoder med eksekverbare ZIP- eller RAR-arkiver.

Anbefalte sikkerhetstiltak: Fjern alltid EXIF- og GPS-geolokasjonsmetadata når du publiserer brukerbilder for å beskytte brukernes personvern. Bruk moderne minnesikre dekodere (som image-rs i Rust) eller sandkasse-baserte WebAssembly-dekodere.

Historisk opprinnelse og milepæler

1998JFIF- og EXIF-beholderstandardene etablerer dominans for digitalkameraer.
1992JPEG-spesifikasjonen ratifisert som ISO/IEC 10918-1.
1986Joint Photographic Experts Group grunnlagt under ISO og CCITT.

Viktige fordeler

  • JPEG-dekoding støttes av mange bildeprogrammer og enheter, men kompatibiliteten varierer mellom enheter og programmer.
  • Utmerkede komprimeringsforhold (10:1 til 20:1) for fotografiske motiv med jevne toneoverganger.
  • Liten nyttelast med progressiv gjengivelseskapasitet.

Tekniske begrensninger og ulemper

  • Tapgivende komprimering forårsaker komprimeringsartifakter (ringing og blokkdannelse) langs skarpe kanter.
  • Ingen støtte for transparenskanal.
  • Generasjonstap oppstår hver gang en fil dekomprimeres, redigeres og lagres på nytt.

Interessante tekniske fakta

  • Det klassiske testbildet «Lenna» som ble brukt til å utvikle JPEG-komprimering, ble skannet fra november 1972-utgaven av magasinet Playboy.
  • JPEG 4:2:0-subsampling halverer kromaoppløsningen både horisontalt og vertikalt med nesten null opplevd forringelse.
  • Hver standard JPEG starter med markør 0xFFD8 (Start of Image) og slutter med 0xFFD9 (End of Image).

Ofte stilte tekniske spørsmål

Hvorfor reduseres bildekvaliteten når man lagrer en JPEG-fil flere ganger?

JPEG er et irreversibelt tapgivende komprimeringsformat. Hver gang du dekomprimerer og lagrer en JPEG på nytt, kaster DCT-kvantiseringstrinnet bort høyfrekvente romlige detaljer og beregner 8x8-pikselblokker på nytt, noe som forårsaker kumulative «generasjonstap»-artifakter.

Hva er progressiv JPEG og hvorfor er det nyttig?

En standard baseline JPEG dekoder skannelinje for skannelinje fra topp til bunn. Progressiv JPEG koder bildedata i flere spektrale passeringer, slik at nettlesere kan gjengi en lavoppløselig utvisking av hele bildet umiddelbart og skjerpe det progressivt etter hvert som bytes lastes ned.

Hva er kroma-subsampling (4:2:0 vs 4:4:4)?

Den menneskelige netthinnen har flere stavceller (luminans/lysstyrke) enn tappceller (farge). JPEG utnytter dette ved å bevare full lysstyrkeoppløsning (Y) samtidig som fargeoppløsningen (Cb, Cr) halveres horisontalt og vertikalt (4:2:0), noe som fjerner 50 % av rådataene før kompresjon uten merkbart tap.

Kan et JPEG-bilde ha en gjennomsiktig bakgrunn?

Nei. JPEG-standarden har ikke støtte for alfakanal. Hvis gjennomsiktighet kreves, må du konvertere bildet til WebP, AVIF eller PNG.