Bildredigeringsskolan 10 (Hur stor är en bild?).

av Daniel Nordling
I den här lektionen tänkte jag försöka reda ut begreppen bildstorlek, upplösning och färgdjup samt avslöja hur den magiska JPEG komprimeringen fungerar!

Vi börjar med frågan i rubriken: Hur stor är en bild?

Svaret på denna skebart enkla fråga är; det beror på hur bilden används. Dessutom är frågan lite lömskt. Ibland är det hur stor plats bilden tar (på hårddisk, minneskort etc.) vi undrar över, men lika ofta handlar det om hur stor bilden blir när den visas (på skärm eller på papper). Den sammanblandningen är faktiskt inte så märklig som först kan tyckas, det finns nämligen ett tydligt samband som vi snart skall få se.

Men om vi börjar från början. En digital bild är uppbyggd av ett antal bildpunkter (så kallade pixlar) varje bildpunkt har som uppgift att återge en bestämd färg. Det fungerar ungefär på samma sätt som när vi lägger en mosaik.

Bilden ovan skall föreställa en mosaik lagd med 150 bitar. Tyvärr räcker inte dessa bitar till för att vi skall kunna se vad bilden egentligen föreställer, bilden innehåller för få pixlar. Vi skulle kunna säga att bilden är för liten för sitt ändamål.

Hur många bildpunkter skulle då bilden ovan behöva för att vi skall kunna se vad den föreställer?

Denna fråga leder oss in på ett ofta missförstått begrepp; upplösning. För bildskärmar brukar upplösningen anges i DPI (dots per inch/punkter per tum) eller PPI (pixels per inch) vilket är samma sak. Här är det viktigt att slå fast att bilden i sig inte har någon upplösning, utan upplösningen är bara ett omräkningstal som säger oss i vilken storlek bilden kommer att återges. En korrekt inställd bildskärm (på en PC som kör Windows) har en upplösning på 96 DPI.

Här har jag tagit bilden ovan och återgett den med bildskärmens egentliga upplösning. Vilket inte gjorde oss mycket gladare. Hur många bildpunkter behöver vi då? Säg att vi vill att bilden skall visas i samma storlek som en vanlig färgkort dvs. 10 x 15 cm (vilket motsvarar 4 x 6 tum då en tum är 2,54 cm), miniräknaren i vår dator ger oss då att bilden behöver vara 384 x 576 bildpunkter stor (totalt 221184 pixlar).

Nu går det äntligen att se vad bilden föreställer! C13 1224 och 1253 på sin sista resa, Hammarby den 12 november 2002. (Jag har gjort bilden något större än vad uträkningen gav, 420 x 630 bildpunkter.)

Av detta kan vi dra slutsatsen att det är mängden bildpunkter och bildskärmens upplösning som bestämmer hur stor bilden kommer att bli (när den återges). Det fungerar på samma sätt när vi skriver ut på skrivare och vid tryck, enda skillnaden är att upplösningen då är en annan.

Här är det dock på plats med ett förtydligande, skrivartillverkare brukar ofta skryta med väldigt höga siffror på upplösning (upp till 4800 DPI). Men då menar de egentligen antalet färgdroppar som kan placeras på pappret, eftersom varje färgdroppe endast kan vara en bestämd färg (färgen hos bläcket) behöver vi flera olika färgdroppar för att kunna återge en bildpunkt. I praktiken är den maximala upplösningen för utskrift av färgbilder hos dessa skrivare 300 eller 360 DPI. Vid utskrift till skrivare kan vi i praktiken själva välja vilken upplösning vi vill använda, skrivaren anpassar sig automatiskt. Vi bör dock välja en upplösning som går att dela jämt med skrivarens maximala upplösning (För Epson betyder det 360, 240, 180, 144, 120 eller 90 DPI. För de flesta andra skrivartillverkare 300, 200, 150, 120 eller 100 DPI).

Vid tryck anges upplösningen ofta i linjer/tum, där en linje kan sägas motsvara två bildpunkter. Dagstidningar brukar trycka med 85 linjer/tum (vilket motsvarar 170 DPI), SJK:s tidning Tåg trycks med 150 linjer/tum (vilket motsvarar 300 DPI). I Tåg skulle bilden ovan endast bli 3,5 x 5 cm, för att kunna återge bilden i 10 x 15 cm behöver vi 1890 x 1260 bildpunkter (dvs. 2.2 miljoner pixlar).

Även när vi skannar bilder brukar vi kunna ange upplösning i DPI, principen är då den samma fast baklänges. Vi vet hur stor vår bild är i original (småbildsformatet är nominellt 24 x 36 mm) och upplösningen i DPI ger oss då hur många bildpunkter vi kommer att få. För säkerhets skull tar jag ett exempel, om vi läser in ett småbildsdia med 2900 dpi kommer den resulterande bilden att bli c:a 2700 x 4100 bildpunkter stor. När vi skannar bilder är det ännu viktigare att vi väljer en upplösning som går att dela jämt med bildläsarens maximala upplösning (för det valda exemplet skulle det betyda 2900, 1450 eller 725 DPI).

När vi börjar få så många bildpunkter i bilden blir även bildfilerna väldigt stora, men vad är det egentligen som bestämmer hur stor bildfilen blir?

Först och främst är det naturligtvis bildstorleken (längd och bredd) som bestämmer filstorleken, men till det kommer en tredje dimension. Bildens färgdjup, som bestämmer hur många möjliga färgvärden en bildpunkt kan ha.

Om vi låter varje bildpunkt representeras av en enda bit, kommer bildens filstorlek i kbyte vara en åttondel av bildstorleken (längd x bredd / 8). Nackdelen är att varje bildpunkt bara kan ha ett av två möjliga värden (vanligtvis svart eller vitt).

Ovanstående skulle kanske duga om vi var intresserade av fotografik, men nu var det fotografiska bilder vi håller på med.

Nästa logiska steg är att låta varje bildpunkt representeras av en byte (8 bitar), varje bildpunkt kan då anta ett av 256 möjliga värden. Vilket råkar vara det samma som gäller för filformatet GIF.

Fortfarande räcker inte antalet färger i bilden till för att återge bilden korrekt, vilket syns tydligast i den blå himlen där tydliga färgfält framträder. GIF är därför inget lämpligt format för att återge fotografiska bilder. (För ritningar och text är det dock utmärkt.)

Hur många färger behöver vi då kunna återge i en bild?

Ögat sägs kunna skilja på ett par miljoner olika färger, i datorsammanhang används ofta begreppet true color vilket definieras som 16 miljoner färger (24 bitar). Det är först när vi kan återge så många färger som begränsningarna inte längre ligger i bildfilen.

Exempel på filformat som tillåter oss att använda 24 bitar är TIFF (det kanske vanligaste formatet) och PNG (som jag har valt att använda här, då det kan visas direkt av många webbläsare). Men nu börjar vi få problem med filstorleken, bilden ovan är 380 kbyte (för er med modem tar det lång tid att hämta bilden).

Men vänta ett tag, borde bilden inte vara 775 kbyte stor? (630 x 420 bildpunkter x 24 bitar.)

Jo, det är helt korrekt och det är den faktiskt också, men först när datorn har läst in den i sitt primärminne. Anledningen till att bildfilen är mindre än vad den borde vara är att filformatet jag använde är komprimerande. Komprimeringen fungerar så, att istället för att lagra bilden bildpunkt för bildpunkt försöker den hitta serier av samma bitmönster. I bildexemplet har vi stora svarta ytor, istället för att kanske lagra 100 tals bildpunkter med samma färg, lagrar vi en bildpunkt och talar sedan om hur många av de följande som är lika. Egentligen är komprimeringsalgoritmerna (det finns flera varianter, där LZW och LZ77 hör till de mest använda) mer avancerad än så, då de arbetar med bitmönster som inte behöver vara de samma som bildpunkter. Tyvärr är denna typ av komprimering inte särskilt effektiv på fotografiska bilder, att uppnå 50% komprimeringsgrad som i mitt exempel är ganska ovanligt (beror främst på bildens stora mörka ytor). En komprimeringsgrad på 75% av ursprunglig storlek är mer typisk.

Filformaten TIFF och PNG är därför inte särskilt lämpade för bilder som vi vill visa på webben, här måste till radikalare metoder för att få ned filstorleken. En sådan radikal komprimeringsmetod är JPEG.

Denna JPEG komprimerade bildfil är faktiskt bara drygt dubbelt så stor (18 kbyte) som 1-bits versionen ovan (8 kbyte) och endast en tjugondel så stor som PNG bilden (380 kbyte), detta trots att formatet kan återge 16 miljoner färger (24 bitar). Hur lyckas då JPEG komprimeringen uppnå en komprimeringsgrad på 2 %? En del av svaret syns tydligt i bilden, komprimeringen är förstörande. Tittar vi noga kan vi se tydliga skador, speciellt i och kring fackverksstolpen till höger. Nu behöver resultatet inte bli så illa, med JPEG komprimeringen kan vi själva bestämma komprimeringsgraden.

Här har jag valt en lägre komprimeringsgrad (Kvalitet 5 i Photoshop), bildfilen är nu 23 kbyte stor och skadorna efter komprimeringen är betydligt mindre. Den här bilden skulle jag kunna tänka mig att visa i Postvagnen. Ett tredje exempel hittar vi faktiskt högre upp i lektionen, den första riktiga bilden är 45 kbyte stor (kvalitet 8 i Photoshop, mitt standardvärde). Skadorna efter komprimeringen är där knappt märkbara.

Det här låter jättebra, men hur fungerar det egentligen och finns det några nackdelar?

Det här är faktiskt inte modern konst, utan samma bild som föregående. Jag har dock gjort de mörka partierna mycket ljusare och de ljusa partierna mycket mörkare, vilket får effekten av JPEG komprimeringen att framträda tydligt. JPEG komprimeringen har utjämnat skillnaderna mellan den enskilda bildpunkterna för att på så sätt skapa större fält med samma färg, principen är faktiskt inte så olik mosaiken i början. Skillnaden ligger främst i att bitarna nu kan ha olika storlek, små rutor där färgskillnaderna är stora och stora rutor där färgskillnaderna är små. Bilden byggs sedan upp med de stora rutorna i botten och i lager på lager med gradvis mindre rutor. Observera att detta endast gäller när bilden är lagrad, väl inläst i primärminnet är bilden lika stor som originalet (775 kbyte). Om vi inte hade JPEG komprimerat bilden skulle vi istället ha fått detta resultat.

Skillnaden är ganska dramatisk, som synes är det ganska många detaljer som har gått förlorade. En annan, kanske inte lika uppenbar nackdel med JPEG komprimering är att den utförs varje gång bilden sparas. Har vi gjort en liten förändring kommer denna att påverka hela bilden (kom ihåg att varje gång vi läser in bildfilen skapas en ny fullstor bild). Tillsammans gör dessa nackdelar att det är olämpligt att använda JPEG som format på bilder som skall bearbetas senare. Jag skulle själv vilja säga att i ett bildarkiv bör vi alltid ha en oförstörd kopia att gå tillbaka till, tänk på att vi kanske sitter här om trettio år och försöker klura ut hur en X1:a egentligen såg ut. (När det gäller bilder från digitalkameror får vi kanske kompromissa lite och säga att den oförstörda kopian är den ursprungliga JPEG komprimerade bildfilen direkt från kameran, välj då en så låg komprimeringsgrad som möjligt.)

Innan vi lämnar ämnet JPEG, skall jag bjuda på lite onödigt vetande. Förkortningen JPEG står för Joint Photographic Experts Group vilket är namnet på den organisation som tog fram komprimeringen. JPEG är för övrigt endast namnet på själva komprimeringsmetoden, filformatet heter egentligen JFIF (JPEG File Interchange Format) men det namnet är det nästan ingen som använder.

När vi har kommit så här långt i lektionen är vi antingen förvirrade på en högre nivå, eller så har vi lyckats räta ut en del frågetecken. Men någon av er kanske sitter och grubblar på varför bildläsare ofta skryter med att de använder ett färgdjup på 36, 42 eller rent av 48 bitar. Har vi något behov av så många färger egentligen?

Nej, något behov fler färger har vi egentligen inte. I stället är det ett behov som kommer sig av hur vi använder bitarna. När vi talar om 24 bitars färgdjup är det underförstått att vi använder 8 bitar för vardera färgkomponent, Röd, Grön och Blå (primärfärgerna vid additiv färgblandning). Det innebär att varje primärfärg har 256 möjliga nivåer (eller steg), men det betyder samtidigt att vi också bara har 256 möjliga gråtoner (värden där Röd, Grön och Blå är lika). Med så få gråtoner är det faktiskt inte helt lätt att återge svart/vita fotografier, men även det stora kontrastomfånget hos ett färgdia kan ge oss problem. Därför har vi stor nytta av fler bitar under själva bildbehandlingen. Exempelvis när vi försöker göra en mörk bild ljusare (eller en ljus bild mörkare), då vi tack vare de extra bitarna kan få fram detaljer som annars skulle ha varit förlorade.

Vid visning är det istället skärmen, skrivaren eller trycket som bestämmer hur många färger vi kan se (oavsett vilket färgdjup bildfilen har). För datorns bildskärm (egentligen grafikkortet) är det maximalt 24 bitars färgdjup som gäller. Även om vissa grafikkort ibland anger färgdjupet till 32 bitar, men de 8 extra bitarna används då inte till fler färger utan till en alfa kanal (en slags mask som används när bilder läggs på varandra, exempelvis fönstren på skrivbordet).

Se även föregående lektion Bildredigeringsskolan 9 (Hur får man ut det mesta möjliga av sin skanner?) där jag visade hur vi genom att använda fler bitar får ut det mesta möjliga ur den skannade bilden. Notera även att vissa digitalkameror (vanligen dyrare modeller) kan spara bilder i rådataformat, som har ett färgdjup på mer än 8 bitar per färg.

Vi behöver alltså de extra bitarna inte för att återge fler färger, utan för att kunna välja vilka färger vi vill återge.

Vi avslutar lektionen med att gå tillbaka till frågan, hur stor behöver en bild vara?

  • För bilder som skall visas på webben är det storleken på bildfilen i kbyte som är viktigast, stora bildfiler tar lång tid att hämta. Använd JPEG komprimering för att begränsa filstorleken. Tänk även på att bilderna skall få plats på betraktarens skärm (som kanske inte är lika stor som din egen), håll nere antalet bildpunkter.
  • För bilder som skall skrivas ut eller tryckas är det antalet bildpunkter som är viktigast, ju fler bildpunkter desto större blir den färdiga bilden. För utskrift på en A4:a i högsta kvalitet (eller en helsida i tidningen Tåg) behöver bilden vara c:a 2500 x 3500 bildpunkter stor (dvs. nästan 9 miljoner pixlar).
  • För bilder som skall arkiveras är det mängden information som är viktigast. Gör bilderna så stora som möjligt, både avseende bildpunkter och filstorlek. Undvik förstörande komprimering (JPEG). Överväg användningen av ett filformat som stödjer användningen av fler bitar per färg (t.ex. TIFF). Speciellt gäller detta för svart/vita fotografier, där det är bättre att använda en gråskala med 16 bitar än att ha 24 bitar i färg.
  • Själv brukar jag använda följande "recept". Bilder som jag skall visa på webben gör jag 420 x 630 bildpunkter stora och JPEG komprimerar dessa till en filstorlek av c:a 100 kbyte. Till arkivet (och för utskrift) gör jag bilderna 1728 x 2592 bildpunkter stora och sparar dessa som (LZW komprimerade) TIFF filer med 24 bitars färgdjup, efter att först ha satt svart-, grå- och vitpunkt (på så sätt utnyttjar jag de tillgängliga 24 bitarna optimalt).


    daniel@nordling.nu