JPEG-billede (.jpg)

ISO/IEC Standard

JPEG er den mest udbredte tabsgivende komprimeringsstandard til digital fotografering og webbilleder, idet den udnytter det menneskelige øjes højere følsomhed over for luminans i forhold til krominans.

Konverter PNG til JPG

Gratis PNG til JPG-konverter i browseren. Konverter filer med det samme på din enhed.

Komprimér JPG online

Privat - filer forlader aldrig din enhed

Undersøgelse og metadata

Operativsystemer og filanalysatorer identificerer JPG-filer ved at inspicere den indledende binære bytesekvens:

Vælg eller træk filer hertil

Privat - filer forlader aldrig din enhed

eller indsæt Ctrl+V
Privatlivsgaranti uden netværksoverførsel: 0 byte overført til eksterne servere. Al behandling foregik lokalt i browserens sandkasse.

Byte-niveau Header-signatur (Magic Bytes)

Operativsystemer og filanalysatorer identificerer JPG-filer ved at inspicere den indledende binære bytesekvens:

HEX-SIGNATUR (OFFSET 0):

FF D8 FF

ASCII-REPRÆSENTATION: ÿØÿ

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

Tekniske specifikationer

ContainerarkitekturMarkørafgrænset binær strøm (0xFF-præfiks) pakket ind i JFIF- eller EXIF-headere
KomprimeringTabsgivende Diskret Cosinustransformation (DCT) + Run-length & Huffman entropikodning
Byte-rækkefølgeBig-Endian for markørlængder og kvantiseringstabeller; Exif kan være Little (II) eller Big (MM)
FarverumsRGB, Adobe RGB, CMYK, Y'CbCr, Gråtoner
Kanaler og struktur8-bit pr. kanal (24-bit Truecolor) eller 8-bit gråtoner
Maks. dimensioner65,535 x 65,535 pixels (2-byte usignerede heltal)
GennemsigtighedIngen (kun uigennemsigtig; ingen understøttelse af alfakanal)
Streaming og progressivProgressiv JPEG-kodning gemmer flere spektrale gennemløb fra lav til høj opløsning

Teknisk sammenligningsmatrix: JPG sammenlignet med konkurrenterne

Teknisk attributJPG (Aktuel)WebPAVIFPNG
KomprimeringsparadigmeTabsgivende DCT + Huffman-kodningTabsgivende (VP8) & tabsfriTabsgivende (AV1) & tabsfriTabsfri Deflate
Alfa-transparensIngen understøttelse af alfakanal (altid uigennemsigtig)8-bit alfa-transparens8-bit / 10-bit / 12-bit alfaFuld 8-bit / 16-bit alfa
HardwaredekodningUnderstøttelse af dedikeret JPEG-hardwaredekodning afhænger af chip og enhed.Udbredt hardwaredekodning i moderne SoC'erHurtigt ekspanderende hardwaredekodning i moderne GPU'erCPU-baseret hurtig dekodning
KomprimeringseffektivitetGod basislinje til fotografierKan være mindre end JPEG; resultatet varierer efter billede og encoderKan være mindre end JPEG; resultatet varierer efter billede og encoderIneffektiv til fotografisk indhold
FarvebitdybdeStandard 8-bit pr. kanal (24-bit Truecolor)8-bit pr. kanal10-bit & 12-bit HDR bredt farverum8-bit & 16-bit pr. kanal

Almindelige korruptionstilstande og hex-gendannelsesvejledning

Billedviseren viser 'Premature end of JPEG file', eller den nederste del af billedet er ensfarvet grå eller viser farverige bjælker.

Grundlæggende årsag: Afbrudt download eller ufuldstændig lagerskrivning, hvor markøren for 0xFFD9 (EOI)-traileren og billedets scanningsdata mangler.

Gendannelse: Tilføj markøren 0xFFD9 i slutningen af den afbrudte strøm for at give dekodere mulighed for at vise den intakte øverste del af fotografiet.

Billedfarver fremstår stærkt forskudte, inverterede eller psykedeliske.

Grundlæggende årsag: Inverteret CMYK-farverumshoved eller ugyldig indlejret ICC-profil.

Gendannelse: Konverter farverummet fra CMYK til sRGB ved hjælp af ImageMagick ('magick broken.jpg -colorspace sRGB fixed.jpg').

Filen vil ikke åbne og melder 'Invalid marker found'.

Grundlæggende årsag: Bitkorruption inde i overskrifterne for kvantiseringstabel (DQT 0xFFDB) eller Huffmantabel (DHT 0xFFC4).

Gendannelse: Erstat de beskadigede header-markører med standard baseline JFIF Huffman- og kvantiseringstabeller udtrukket fra en intakt JPEG.

Sikkerhedsanalyse og parser-angrebsvektorer

JPEG-sikkerhed drejer sig primært om læk af metadata (EXIF) og bufferoverløb i ældre C-dekodere (libjpeg).

Kendte angrebsvektorer

  • Afsløring af følsomme metadata: Ikke-fjernede EXIF-headere, der indeholder GPS-koordinater, kameraserienumre og miniaturer.
  • Bufferoverlæsning og heltalsoverløb i ældre libjpeg-parsere kan ødelægge genstartsmarkører (RST) eller scripts for progressive scanninger.
  • Polyglot-filer, der kombinerer JPEG-headere med eksekverbare ZIP- eller RAR-arkiver.

Defensive bedste praksisser: Fjern altid EXIF- og GPS-geolokaliseringsmetadata fra brugerbilleder, før de offentliggøres, for at beskytte brugernes privatliv. Brug moderne, hukommelsessikre dekodere (f.eks. image-rs i Rust) eller WebAssembly-dekodere i en sandkasse.

Historisk oprindelse og milepæle

1998JFIF- og EXIF-containerstandarder etablerer dominans for digitalkameraer.
1992JPEG-specifikationen ratificeres som ISO/IEC 10918-1.
1986Joint Photographic Experts Group grundlægges under ISO og CCITT.

Vigtige fordele og styrker

  • JPEG-dekodning understøttes bredt af billedsoftware og -enheder, men kompatibiliteten varierer efter enhed og program.
  • Fremragende komprimeringsforhold (10:1 til 20:1) til fotografiske halvtoner.
  • Lille filstørrelse med mulighed for progressiv rendering.

Tekniske begrænsninger og ulemper

  • Tabsgivende komprimering forårsager komprimeringsartefakter (ringing og blokdannelse) langs skarpe kanter.
  • Ingen understøttelse af alfakanal-transparens.
  • Genereringstab opstår hver gang en fil dekomprimeres, redigeres og gemmes igen.

Interessante tekniske fakta

  • Det klassiske 'Lenna'-testbillede, der blev brugt til at udvikle JPEG-komprimering, blev scannet fra novemberudgaven fra 1972 af Playboy-magasinet.
  • JPEG 4:2:0 undersampling halverer krominansopløsningen både horisontalt og vertikalt med næsten nul perceptuel forringelse.
  • Hver standard JPEG begynder med markøren 0xFFD8 (Start of Image) og slutter med 0xFFD9 (End of Image).

Ofte stillede tekniske spørgsmål

Hvorfor reducerer det billedkvaliteten at gemme en JPEG-fil flere gange?

JPEG bruger en irreversibelt tabsgivende komprimering. Hver gang en JPEG dekomprimeres og gemmes igen, fjerner DCT-kvantiseringen højfrekvente detaljer i billedet og tilnærmer 8x8-pixelblokke på ny. Det skaber gradvist artefakter, der skyldes gentagne lagringer.

Hvad er progressiv JPEG, og hvorfor er det nyttigt?

En almindelig baseline-JPEG afkodes scannelinje for scannelinje fra top til bund. Progressiv JPEG koder billeddata i flere spektrale gennemløb, så browsere øjeblikkeligt kan gengive en sløring i lav opløsning af hele billedet og skærpe det progressivt, efterhånden som bytes downloades.

Hvad er krominansundersampling (4:2:0 vs 4:4:4)?

Nethinden har flere stavceller, der registrerer luminans og lysstyrke, end tapceller, der registrerer farver. JPEG udnytter dette ved at bevare fuld lysstyrkeopløsning (Y), mens farveopløsningen (Cb, Cr) halveres vandret og lodret (4:2:0). Dermed fjernes 50 % af rådataene før komprimering med et umærkeligt kvalitetstab.

Kan et JPEG-billede have en gennemsigtig baggrund?

Nej. Standard JPEG-specifikationen har intet begreb om en alfakanal. Hvis transparens er påkrævet, skal du konvertere billedet til WebP, AVIF eller PNG.