Hur fungerar JPEG?

Hur fungerar JPEG?

JPEG är ett av de vanligaste formaten för digital lagring och överföring av bilder som används idag och ett format som alla på Fotosidan.se har kommit i kontakt med. Men hur fungerar det egentligen? Vad är det man ändrar med kvalitetsinställningen? Varför blir filerna mycket mindre vid vissa motiv jämfört med andra motiv? Den här artikeln ska försöka bringa lite ordning bland begreppen.

Först en kort beskrivning av JPEG. JPEG står för ”Joint Photographic Expert Group” och är ett standardiserat format för komprimering av bilder. JPEG använder så kallad förstörande komprimering av bildinformation. Det betyder att för varje gång man sparar om en bild i JPEG-formatet så förstörs lite bildinformation.

JPEG är specialkonstruerat för att utnyttja svagheter i människans sätt att uppfatta färger, bl a att man har svårare att uppfatta små skillnader i färg än i ljushet. Naturligtvis betyder detta att JPEG bör användas på bilder som ska ses av människor och inte t ex bildanalyseras i datorer.

JPEG kan hantera gråskalebilder (8 bitar/pixel) och fullfärgsbilder (24 bitar/pixel). Gråskalebilder komprimeras dock inte lika effektivt som färgbilder. Gråskalebilder blir oftast 10%-25% mindre än motsvarande fullfärgsbild trots att gråskalebilden bara använder 8 bitar/pixel. Detta beror på ovan sagda faktum att färginformation kan komprimeras effektivare än ljushetsinformation.

Hur komprimeras då en bild i JPEG?

En JPEG-bild använder vanligtvis inte RGB-information vid komprimeringen utan överför först bilden till YCbCr-information. YCbCr är en färgrymd där Y är luminansen (ljusheten) och Cb och Cr är krominansen (färgen). Varje kanal komprimeras sedan var för sig. Anledningen är att man kan komprimera färginformationen mycket hårdare än ljushetsinformationen.

fig1

Därefter nersamplar man ofta dom olika komponenterna (detta steg är inte nödvändigt). Luminansen lämnas med full information men krominansen nersamplas ofta med 2:1 horisontellt och 2:1 eller 1:1 (ingen förändring) vertikalt. Detta brukar man beteckna med 2h2v och 2h1v (alternativa beteckningar är 411, 422 eller 2x2,1x1,1x1, 2x1,1x1,1x1). Nersamplingen går till så att man tar en grupp bildpunkter och räknar ut medelfärgen hos dessa varefter men ersätter färginformationen för de enskilda bildpunkterna med medelfärgen för gruppen. Nersampling 2h2v innebär att man grupperar 4 st bildpunkter, 2 horisontellt och 2 vertikalt. Nersampling 2h1v betyder att man grupperar 2 st bildpunkter horisontellt. Redan i detta steg försvinner hälften eller en tredjedel av informationen. Märkligt nog har detta oftast ingen visuell inverkan på bilden.

Efter detta steg delas bilden in i block om 8x8 bildpunkter för varje komponent (Y, Cb och Cr). Varje block omvandlas genom en diskret cosinustransform (DCT). En DCT liknar en fouriertransform och ger på samma sätt en frekvenskarta med 8x8 komponenter som beskriver medelinformationen för komponenten i blocket och successivt högre frekvens för förändringen i blocket. Enkelt sagt är DCT ett annat sätt att beskriva bildinformationen. En DCT är helt reversibel, dvs ingen information fösvinner när man gör en DCT, med undantag för avrundningsfel. Högfrekvensinformation är mindre viktig än låg-frekvensinformation och kan därför kastas bort i högre grad.

Nu kommer den stora informationsförstörande steget. Utifrån den kvalitetsinställning du har angett att du vill spara JPEG-bilden i så räknas en tabell med ”kvantifieringskoefficienter” ut. Var och en av de 64 frekvenskomponenterna i blocket divideras med en ”kvantifieringskoefficient” och omvandlas till heltal. Ju högre kvantifieringskoefficient desto mer data förloras. Oftast används lägre kvantifieringskoefficienter för luminansinformationen än för krominansinformationen. Höga frekvenser divideras alltid med en högre koefficient än lägre frekvenser, men exakt hur detta är kopplat till kvalitetsinställningen är olika i olika program. Det är därför en uppgift om vilken kvalitet man sparade bilden i är i stort sett meningslös om man inte samtidigt anger vilket program som användes.

I sista steget komprimeras de reducerade koefficienterna med Huffmankodning eller aritmetisk kodning. Detta är vanliga datakomprimeringsalgoritmer liknande dom som används i vanliga packprogram som t ex WinZip mfl. I detta steg förloras ingen bilddata.

Varför får olika motiv olika filstorlek?

Svaret på denna fråga finns att finna i steget då man reducerar frekvensinformationen genom att dividera med kvantifieringskoefficienterna. En bild med mycket kontraster och fina detaljer ger mycket högfrekvent information efter DCT. Trots reduceringen med kvantifieringskoefficienterna blir mycket högfrekvent information kvar vilket leder till större filer. I en bild med mindre kontraster och jämna övergångar får man mer låga frekvenser vid DCT och dom höga frekvenserna kan försvinna helt vilket ger mindre filer.

Slutord

JPEG erbjuder ett antal olika inställningar för att styra vilken kvalité man vill ha i den slutliga bilden. Vad som är viktigt att komma ihåg är att inte spara om bilder i JPEG flera gånger. Om man arbetar med en bild och man sparar undan bilden som arbetskopior så bör man spara i ett oförstörande format som okomprimerad TIFF, PNG eller programmets eget format. Undvik GIF-formatet! Även om GIF använder oförstörande komprimering så kan formatet endast hantera 8 bitar per pixel (256 färger) och en stor mängd data går förlorad vid konverteringen från 24 bitar/pixel till 8 bitar/pixel. Om man ändå vill spara arbetskopior som JPEG så spara alltid med exakt samma kvalitetsinställning och samma program. Då förloras minst kvalité.

Om du vill ladda upp en bild på t ex fotosidan.se och du måste hålla dig under en viss filstorlek (t ex i forumen) så prova i första hand att välja 2h2v-nersampling. Justera därefter kvalitetsinställningen så att filen blir tillräckligt liten. Om kvalitén är av högsta prioritet så välj ingen nersampling (1h1v) och en hög kvalitetsinställning.

Många program har även en inställning för hur DCT ska utföras. Oftast har man en snabb heltalsalgoritm (integer) och en långsammare, men noggrannare, flyttalsalgoritm (floating point). Ibland finns även en snabbare (men ännu mindre noggrann) heltalsalgoritm (fast integer). Skillnaden mellan dessa brukar vara minimal, både i tid och i kvalité och ska bara enstaka bilder sparas på en relativt modern dator så kan flyttalsalgoritmen användas. På 386:ornas tid spelade denna inställning en roll men knappas på moderna maskiner.

Av Tim Lundström 2005-01-13. Läst av 806 besökare
2005-02-14 16:57   Magnus Karlsson
Jpeg-komprimeringen är ju ganska besvärlig att begripa sig på men som tur är behöver man inte förstå allt detta för att kunna spara jpeg-filer.

Kul att nån vågar ge sig in på att förklara hur jpeg fungerar. Det är inte lätt att förstå och ännu svårare att förklara. Jag fattade nog det mesta tror jag. Men artikeln skulle bli bra mycket bättre med några förklarande figurer.
Och för att fatta avsnittet om DCT och frekvenser ska man nog ha läst en del högskolematte.
2005-09-06 12:17   raderad12
Bra initiativ att försöka förklara jpeg lite närmare, tyvärr tror jag inte att de som inte redan är tämligen insatta får ut något av den. "reducerade koefficienterna med Huffmankodning eller aritmetisk kodning" Detta är fullkomligt "grekiska" för de allra flesta och tillför ingen insikt eller kunnande för dem.

Du fick mig dock att testa lite olika inställningar i Gimp, har aldrig brytt mig i det tidigare. Att ändra DCT-metod mellan flyttal och heltal gav inga större skillnader, "flyttals" bilden blev visserligen mindre, men tämligen marginellt. Att ändra på subsamplingen gav dock tämligen stora skillnader på filstorleken. Då infinner sig ju frågan, vid vilka bilder är den ena subsamplingen att föredra före den andra? Kan vissa bilder tjäna storleksmässigt utan upplevd försämring på att man väljer lägre kvalitetsinställning tillsammans med en subsampling som annars ger en större fil?
2006-10-20 08:20   avslutat_bj
Betyg: 5
Det här är den bästa beskrivning av JPEG-formatet som jag har sett, en kort och koncis förklaring av vad som egentligen händer. Krominans-luminans-uppdelningen har jag inte sett förklarad i någon annan överskådlig artikel. Lysande.

Nya artiklar

Dagens lärdom: Håll koll på bakgrunden

Malmö FF:s fotograf fick lära sig en läxan om bakgrundens betydelse när bilden ovan publicerades i den egna tidningen Avspark. Läs mer... 3

Dags att uppdatera din Nikon D700

I sällsynta fall kan Nikon D700 ge underexponerade bilder av till synes oförklarliga skäl. Felet kan nu avhjälpas med ny mjukvara. Läs mer... 1

Fotosidan-veteran fotograferade 480 kyrkor

Efter 6.000 exponeringar och 1.500 mil är FS-veteranen Sture Björnsons mastodontverk Kyrkor i Skara stift klart. Läs mer... 19

Dövblinda lär sig fotografera

I projeketet "Taktil foto" får fyra personer med kraftig syn- och hörselnedsättning lära sig fotografera. Bilderna görs taktila (får konturer och ytstruktur) genom en kombination av olika utskriftstekniker. Läs mer...

Vädertätad: Pentax K-30

Pentax fortsätter att satsa på vädertätade kameror. K-30 är en ny lillebror till K-5 med samma sensor på 16 megapixel. Ett nytt 50mm-objektiv lanseras också. Läs mer... 9

Snart fotofestival i Mullsjö

Den 2 till 6 juni hålls det återigen fotofestival i Mullsjö. Bland utställarna finns Pieter ten Hoopen, Helene Schmitz, Carl Bengtsson, Peter Gerdehag med flera. Festivalen innehåller även workshops och föreläsningar. Läs mer... 2

Ljusstark normalzoom från Panasonic

UPPDATERAD. Panasonic Lumix G X Vario 12-35 mm f/2,8 Asph Power O.I.S är en ny normalzoom med ljusstyrka 2,8 och en bildvinkel motsvarande 24-70 mm i småbildsformatet. Läs mer... 4

Utan ersättning trots kameraförsäkring

Tjuven stal fotoutrustning värd 150.000 kronor ur Björn Lindgrens bil. Men försäkringsbolagen vägrade att betala ut ersättning. Läs mer... 29

Hasselblad dumpar priserna

För några år sedan sänkte Hasselblad sina priser och tvingade andra mellanformatstillverkare att också sänka. Nu genomförs ytterligare en kraftig prissänkning. Läs mer... 12

NevaBooks utökar med fotogalleri

Fotobokhandeln NevaBooks flyttar till större lokaler som även rymmer ett fotogalleri. Lördagen den 19 maj öppnas dörrarna för utställningen Falcköga. Läs mer... 6

Senaste artiklar och nyheter



Senaste blogginläggen


Gör någon glad och ge en
kommentar på deras bilder!

Alien

VÅGat träningspass

Love is in the air ...

Bröllop i femtiotalsstil

When something is behind you

Senaste kommentarerna




Aifo AB - Elinchrom D-Lite it











Alltid bra priser på Elinchrom