Asiakirjan JPG-kuva (.jpg)

ISO/IEC Standardi

JPEG on laajimmin käytetty häviöllinen pakkausstandardi digitaalisessa valokuvauksessa ja verkkokuvissa. Se hyödyntää ihmissilmän suurempaa herkkyyttä valoisuudelle värisävyihin verrattuna.

Muunna tiedostot muodosta PNG muotoon JPG

Ilmainen selaimessa toimiva muunnin, jolla voit muuntaa tiedostoja muodosta PNG muotoon JPG. Muunna tiedostot hetkessä laitteellasi.

Pakkaa JPG verkossa

Yksityisesti - tiedostot eivät koskaan poistu laitteeltasi

Tarkastele tiedostoa ja sen metatietoja

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat JPG-tiedostot tarkistamalla tiedoston alun binäärisarjan:

Valitse tai pudota tiedostot tähän

Yksityisesti - tiedostot eivät koskaan poistu laitteeltasi

tai liitä Ctrl+V
Tietosuojatakuu: 0 % verkkosiirtoa Ulkoisille palvelimille ei ole ladattu yhtään tavua. Kaikki käsittely tapahtui paikallisesti selaimen hiekkalaatikossa.

Otsaketunniste tavutasolla (tunnistetavut)

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat JPG-tiedostot tarkistamalla tiedoston alun binäärisarjan:

HEKSADEKSIMAALINEN TUNNISTE (SIJAINTI 0):

FF D8 FF

ASCII-ESITYSTAPA: ÿØÿ

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

Tekniset tiedot

SäiliöarkkitehtuuriMerkinnöillä rajattu binäärivirta (0xFF-etuliite) käärittynä JFIF- tai EXIF-otsikoihin
PakkausHäviöllinen diskreetti kosinimuunnos (DCT) + juoksunpituus- ja Huffman-entropiakoodaus
Tavujärjestys (Endianness)Big-endian (suurin tavu ensin) merkintöjen pituuksille ja kvantisointitaulukoille; Exif voi olla little-endian (II) tai big-endian (MM)
VäriavaruudetsRGB, Adobe RGB, CMYK, Y'CbCr, Harmaasävy
Kanavat ja rakenne8 bittiä kanavaa kohden (24-bittinen täysväri) tai 8-bittinen harmaasävy
Suurimmat mitat65 535 x 65 535 pikseliä (2 tavun etumerkittömät kokonaisluvut)
LäpinäkyvyysEi ole (kuva on aina läpinäkymätön; alfakanavaa ei tueta)
Suoratoisto ja progressiivinen latausProgressiivinen JPEG-koodaus tallentaa useita spektripasseja matalasta korkeaan tarkkuuteen

Tekninen vertailumatriisi: JPG vs. kilpailijat

Tekninen attribuuttiJPG (Nykyinen)WebPAVIFPNG
PakkausparadigmaHäviöllinen DCT + Huffman-koodausHäviöllinen (VP8) ja häviötönHäviöllinen (AV1) ja häviötönHäviötön Deflate
AlfaläpinäkyvyysEi alfakanavan tukea (aina läpinäkymätön)8-bittinen alfa-läpinäkyvyys8-bittinen / 10-bittinen / 12-bittinen alfaTäysi 8-bittinen / 16-bittinen alfa
LaitteistopurkuErillisen JPEG-laitteistodekoodauksen tuki riippuu piiristä ja laitteesta.Laaja laitteistopurku nykyaikaisissa SoC-piireissäNopeasti laajeneva laitteistopurku nykyaikaisissa näytönohjaimissaSuoritinpohjainen nopea purku
Pakkauksen tehokkuusHyvä perustaso valokuvilleVoi tuottaa JPEG:iä pienemmän tiedoston; tulos vaihtelee kuvan ja koodaimen mukaan.Voi tuottaa JPEG:iä pienemmän tiedoston; tulos vaihtelee kuvan ja koodaimen mukaan.Tehoton valokuvamateriaalille
VärisyvyysTavallinen 8 bittiä kanavaa kohden (24-bittinen RGB-väri)8 bittiä kanavaa kohden10- ja 12-bittinen HDR ja laaja väriavaruus8 ja 16 bittiä kanavaa kohden

Yleiset vioittumistavat ja heksadesimaalinen palautusopas

Kuvankatseluohjelma näyttää virheen 'Premature end of JPEG file' tai valokuvan alareuna on täysin harmaa tai täynnä värikkäitä juovia.

Perussyy: Katkennut lataus tai keskeneräinen tallennus, josta puuttuu 0xFFD9 (EOI) -päätemerkintä ja kuvatiedon hyötykuorma.

Korjaus: Lisää merkintä 0xFFD9 katkaistun tietovirran loppuun, jotta dekooderit voivat näyttää valokuvan ehjän yläosan.

Kuvan värit vaikuttavat voimakkaasti siirtyneiltä, käänteisiltä tai psykedeelisiltä.

Perussyy: CMYK-väriavaruuden otsikko on käänteinen tai upotettu ICC-profiili on virheellinen.

Korjaus: Muunna väriavaruus CMYK:sta sRGB:hen ImageMagickin avulla ('magick broken.jpg -colorspace sRGB fixed.jpg').

Tiedosto ei avaudu ja ilmoittaa virheestä 'Invalid marker found'.

Perussyy: Bittivirhe kvantisointitaulukon (DQT 0xFFDB) tai Huffman-taulukon (DHT 0xFFC4) otsikoissa.

Korjaus: Korvaa vahingoittuneet otsikkomerkinnät standardin mukaisilla JFIF:n Huffman- ja kvantisointitaulukoilla, jotka on poimittu ehjästä JPEG-tiedostosta.

Tietoturva-analyysi ja tiedostojäsentimien hyökkäysvektorit

JPEG-turvallisuudessa on kyse ensisijaisesti metatietojen yksityisyysvuodoista (EXIF) ja puskurin ylivuodoista vanhoissa C-kielisissä dekoodereissa (libjpeg).

Tunnetut hyökkäysvektorit

  • Arkaluonteisten metatietojen paljastuminen: Poistamattomat EXIF-otsikot, jotka sisältävät GPS-koordinaatteja, kameran sarjanumeroita ja esikatselukuvia.
  • Puskurin lukualueen ylitykset ja kokonaislukujen ylivuodot vanhan libjpeg-kirjaston jäsennyskoodissa voivat turmella uudelleenkäynnistysmerkintöjä (RST) tai progressiivisen skannauksen skriptejä.
  • Polyglottitiedostot, joissa yhdistetään JPEG-otsikot suoritettaviin ZIP- tai RAR-arkistoihin.

Tietoturvan parhaat käytännöt: Poista aina EXIF- ja GPS-sijaintimetatiedot julkaistessasi käyttäjien kuvia käyttäjien yksityisyyden suojaamiseksi. Käytä nykyaikaisia muistiturvallisia dekoodereita (kuten Rustin image-rs) tai hiekkalaatikossa toimivia WebAssembly-dekoodereita.

Historia ja virstanpylväät

1998JFIF- ja EXIF-säiliöstandardit vakiinnuttavat digitaalisten kameroiden hallinta-aseman.
1992JPEG-määrittely vahvistetaan ISO/IEC 10918-1 -standardiksi.
1986Joint Photographic Experts Group perustetaan ISO:n ja CCITT:n alaisuudessa.

Tärkeimmät edut

  • Monet kuvankäsittelyohjelmat ja laitteet tukevat JPEG-dekoodausta, mutta yhteensopivuus vaihtelee laitteen ja sovelluksen mukaan.
  • Valokuvien jatkuville sävyille saadaan erinomaisia pakkaussuhteita (10:1:n ja 20:1:n välillä).
  • Pieni tiedostokoko ja progressiivinen hahmotuskyky.

Tekniset rajoitukset

  • Häviöllinen pakkaus aiheuttaa pakkausartefakteja (rengasmaisia ja lohkomaisia vääristymiä) terävien reunojen ympärille.
  • Ei alfa-kanavan tukea.
  • Sukupolvikato tapahtuu joka kerta, kun tiedosto puretaan, muokataan ja tallennetaan uudelleen.

Mielenkiintoisia teknisiä faktoja

  • Klassinen 'Lenna'-testikuva, jota käytettiin JPEG-pakkauksen kehittämiseen, skannattiin Playboy-lehden marraskuun 1972 numerosta.
  • JPEG 4:2:0 -alinäytteistys puolittaa krominanssitarkkuuden sekä vaaka- että pystysuunnassa lähes olemattomalla havainnollisella laadun heikkenemisellä.
  • Jokainen standardi JPEG alkaa merkinnällä 0xFFD8 (kuvan alku) ja päättyy merkintään 0xFFD9 (kuvan loppu).

Usein kysytyt tekniset kysymykset

Miksi JPEG-tiedoston tallentaminen useita kertoja heikentää kuvan laatua?

JPEG on peruuttamattomasti häviöllinen pakkausmuoto. Aina kun JPEG puretaan ja tallennetaan uudelleen, DCT-kvantisointivaihe hylkää korkeataajuisia yksityiskohtia ja approksimoi 8x8 pikselin lohkot uudelleen, mikä aiheuttaa kumuloituvia sukupolvikatoartefakteja.

Mikä on progressiivinen JPEG ja miksi siitä on hyötyä?

Tavallinen baseline-JPEG purkaa kuvan skannausrivi kerrallaan ylhäältä alas. Progressiivinen JPEG koodaa kuvatiedot useissa spektripasseissa, jolloin selaimet voivat näyttää koko kuvan heti epätarkkana ja terävöittää sitä asteittain tavujen latautuessa.

Mitä on krominanssin alinäytteistys (4:2:0 vs 4:4:4)?

Ihmissilmän verkkokalvolla on enemmän sauvasoluja (luminanssi/kirkkaus) kuin tappisoluja (väri). JPEG hyödyntää tätä säilyttämällä täyden kirkkaustarkkuuden (Y) ja puolittamalla samalla väritarkkuuden (Cb, Cr) vaaka- ja pystysuunnassa (4:2:0). Näin raakadatasta karsiutuu 50 % ennen pakkausta ilman havaittavaa laadun heikkenemistä.

Voiko JPEG-kuvalla olla läpinäkyvä tausta?

Ei voi. Standardissa JPEG-määrittelyssä ei ole alfa-kanavan käsitettä. Jos läpinäkyvyys on tarpeen, kuva on muunnettava muotoon WebP, AVIF tai PNG.