JPG-bilde av dokument (.jpg)
ISO/IEC StandardJPEG 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:
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 FFASCII-REPRESENTASJON: ÿØÿ
Standardisering: ISO/IEC 10918-1 / ITU-T T.81
Tekniske spesifikasjoner
| Beholderarkitektur | Markøravgrenset binærstrøm (0xFF-prefiks) pakket inn i JFIF- eller EXIF-hoder |
| Komprimering | Tapsbasert diskret cosinustransformasjon (DCT) samt koding med rekkelengder og Huffman-entropikoding |
| Bytterekkefølge | Big-Endian for markørlengder og kvantiseringstabeller; Exif kan være Little (II) eller Big (MM) |
| Fargerom | sRGB, Adobe RGB, CMYK, Y'CbCr, Gråtoner |
| Kanaler og struktur | 8-bit per kanal (24-bit Truecolor) eller 8-bit gråtoner |
| Maks. dimensjoner | 65 535 x 65 535 piksler (2-byte usignerte heltall) |
| Gjennomsiktighet | Ingen (kun ugjennomsiktig; ingen støtte for alfakanal) |
| Strømming og progressiv visning | Progressiv JPEG-koding lagrer flere spektrale passeringer fra lav til høy oppløsning |
Teknisk sammenligningsmatrise: JPG sammenlignet med konkurrenter
| Teknisk attributt | JPG (Gjeldende) | WebP | AVIF | PNG |
|---|---|---|---|---|
| Komprimeringsparadigme | Tapgivende DCT + Huffman-koding | Tapgivende (VP8) og tapsfri | Tapgivende (AV1) og tapsfri | Tapsfri Deflate |
| Alfatransparens | Ingen støtte for alfakanal (alltid ugjennomsiktig) | 8-biters alfatransparens | 8-biters / 10-biters / 12-biters alfa | Full 8-biters / 16-biters alfa |
| Maskinvaredekoding | Maskinvaredekoding finnes på mange GPU-er og mobile SoC-er; støtten varierer med brikke og enhet | Utbredt maskinvaredekoding i moderne SoC-er | Raskt voksende maskinvaredekoding i moderne GPU-er | CPU-basert rask dekoding |
| Komprimeringseffektivitet | God basislinje for fotografier | Kan være mindre enn JPEG; resultatet varierer med bildet og koderen | Kan være mindre enn JPEG; resultatet varierer med bildet og koderen | Ineffektivt for fotografisk innhold |
| Fargebitdybde | Standard 8-bit per kanal (24-bit Truecolor) | 8-bit per kanal | 10-bit & 12-bit HDR bredt fargerom | 8-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
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.
Relaterte konverteringspar for JPG
Konvertering av PNG-rasterbilder til JPEG-format reduserer filstørrelsen ved å bruke komprimering med tap, noe som gjør at bilder laster raskere på nettsider og bruker mindre lagringsplass.
Konvertering av et JPEG-rasterbilde med komprimering med tap til et tapsfritt PNG-rasterbilde hindrer ytterligere kvalitetstap og gir støtte for gjennomsiktighet via alfakanal.
Konvertering av JPEG-bilder til WebP kan redusere filstørrelsen ved tilsvarende visuell kvalitet, men resultatet varierer med bildeinnhold og innstillinger for koding.
Konvertering fra WebP til JPEG kan gjøre et stillbilde enklere å bruke i programvare som ikke støtter WebP. JPEG bevarer ikke gjennomsiktighet eller animasjon.
Konvertering av HEIC-fotografier til JPEG-bilder gjør Apples standardformat for kamera om til rasterfiler som kan leses overalt, også i eldre programvare og nettlesere.
Konvertering av AVIF til JPEG kan være nyttig i eldre programvare som ikke støtter AV1 Image File Format.
Konvertering av et eldre JPEG-bilde til AVIF-formatet reduserer filstørrelsen betraktelig samtidig som høy visuell kvalitet opprettholdes ved hjelp av avansert moderne videokodingsteknologi.
Konverter store Adobe Photoshop PSD-komposisjoner til kompakte JPEG-bilder som kan vises overalt.