Hantera bilder
FAQ version 1.03

========================================
Introduktion
========================================

Denna FAQ är inte ämnad för alla nybörjare, och dess innehåll kan vara svårt att förstå för vissa. Men jag gjorde i alla fall ett försök. ;)

Här finns en bra FAQ om jpeg:
http://www.cis.ohio-state.edu/hypertext/faq/usenet/jpeg-faq/top.html

Innan jag går in på detaljerna, så vill jag nämna att den allmänna uppfattningen är att jpeg är det enda format som lämpar sej för scannade fotografier. Låt mej därför presentera några frågor och svar om detta filformat.

========================================
Fråga: Vad är jpeg?
Svar: Det är en förkortning för Joint Photographic Experts Group. Det är en allmän term som används för en viss typ av bildkomprimeringstekniker. Den vanligaste typen av jpeg använder sej av en komprimeringstyp som tar bort viss information och som lämpar sej bäst för scannade fotografier eller realistiska bilder med ett stort antal färger. Vanligtvis använder sej jpeg av 24-bitars färger och 8-bitars gråskala (svartvitt).

========================================
Fråga: Jpeg komprimerar genom att ta bort information. Det suger, eller hur?
Svar: Utan denna typ av kompression så skulle många av de bilder som finns på usenet ha en storlek av flera Mb. Experter är överens om att det mänskliga ögat inte kan se någon skillnad mellan en jpeg på 100kb och en icke komprimerad version av bilden på 1 Mb. så om du råkar vara en mänsklig varelse, så kommer jpeg-kompressionen knappast synbarligen att försämra kvaliteten på bilden. Ifall du nu inte är en mänsklig varelse, så är nog denna FAQ onödig för dej att läsa. ;)

========================================
Fråga: Kan man inte använda filformatet gif för scannade fotografier?
Svar: Gif-formatet används inte särskilt ofta för detta ändamål eftersom denna kompressionsteknik tar bort så mycket information från bilden. Det beror på att gif är begränsad till 256 färger och i de fall antalet färger överskrider detta så sker kompressionen genom eliminering. Scannade bilder överskrider nästan elltid denna färgbegränsning, hur pass mycket är dock en annan fråga. Jpeg har oftast 16.7 miljoner färger. Om det görs på rätt sätt så kan ingen människa skilja en jpeg-bild från en okomprimerad bild. I många fall så är det inte på det sättet när det gäller gif-formatet. särskilt om bilden är scannad från ett färgrikt fotografi. Om man t ex överför en scannad bluebirdbild till gif så skulle detta synas tydligt. Gif används främst för enkla bilder med relativt få färger.

========================================
Fråga: Jag kan då inte se någon skillnad i kvalitet mellan gif- och jpegformat av samma bild. Varför det??
Svar: Om du inte kan se någon skillnad hos ett scannat fotografi av gif-format jämfört med formatet jpeg, så kan det bero på att du har en gammal dator som inte stöder mer än 256 färger. Det innebär att även om en jpegbild har flera miljoner färger, så kommer din dator bara att visa 256 av dem, och det får jpeg att se precis ut som gif. En vanlig genomsnittsdator stöder upp till 65536 färger, vilket innebär att inte ens denna kan visa en jpegbilds fulla kvalitet. I vilket fall som helst så kan människan urskilja miljoner färger, så en medeldator har en kapacitet som är några storleksordningar under detta. Det är ovanligt med miljarder färger i jpeg eftersom de flesta bildskärmar inte kan visa det. Men de existerar och används för analys (t ex inom medicinen).

========================================
Fråga: Hur mycket komprimeras bilden i jpeg?
Svar: Jpeg är ett flexibelt format, vilket innebär att bilden kan komprimeras enligt önskemål. Experterna menar att jpeg kan komprimeras ända till mellan 10 och 20 gånger utan att kvaliteten synbarligen försämras alls. Jag kan skriva under på detta: Jag har jämfört bilder som varit betydligt mer komprimerade och det är först mellan 20 och 30 gångers kompression som man kan märka en ytterst liten kvalitetsförsämring. Experterna föreslår en kompression på 30:1 till 50:1 för allmänt bruk. Det är för att den lilla kvalitetsförbättring som en mindre kompression skulle ge inte är värd den ökade filstorleken.

========================================
Fråga: Antag att vi tog en vanlig scannad jpeg och konverterade den till gif. Vad händer då med filstorleken?
Svar: Jag tog en typisk jpeg-bild och konverterade den till gif. Filstorleken ökade då från 124Kb till 525Kb. Vid en jämförelse så kunde jag med lätthet peka ut vilken bild som var av jpeg-format. Jag kunde också se att hennes kropp - hoppsan, texturen menar jag ju - var mjuk och jämn på jpeg-bilden. Den ver rå och ojämn på gif-bilden. Hu vad hemskt! Naturligtvis så gjorde jag mej genast av med gif-bilden, som ju dessutom upptog fyra gånger så mycket plats. Förresten, den här skillnaden är inte lika lätt att lägga märke till då det gäller mycket små bilder (eftersom de ju har mindre variationer i färg).

========================================
Fråga: Vänta nu, du nämnde tidigare saker som kompression på 10:1. Motsvarar det inte en bild med kvaliteten 10? Är det inte bättre att spara jpeg-bilden med kvalitetsgraden 100?
Svar: En bild med kvalitetsgraden 100 är ändå ofta långt från perfekt. Kompressionsgraden säger nämligen mycket litet om bildens verkliga kvalitet. En kvalitetsgrad av 100 skulle t ex kunna betyda en kompression på 10:1 eller kanske 5:1. Det beror ju på vad programmeraren bestämmer ska utgöra referensens. T ex 75 i kvalitet på en LViewPro är inte samma som 75 i kvalitet hos ett annat program program. Kvaliteten är dessutom inte direkt proportionell mot kompressionen (80 i kvalitet blir därmed inte dubbelt så bra som 40 i kvalitet). Kvalitetsskalorna varierar alltså mellan olika program.

========================================
Fråga: Det finns inte en chans att jpeg-bilder kan komprimeras till 10:1, 20:1, 30:1, etc...! Du är ju tokig.
Svar 1: Tror ni mej inte? Nästan alla jpeg-bilder använder 24-bitars färg. Öppna en jpeg-bild och se efter själv. Mängden RAM-minne som krävs för den dekomprimerade bilden motsvarar 33 byte (24 bitars) x bildens storlek (längd x bredd i antal pixel). Detta ger: filstorlek = 3 x längd x bredd. Som ett exempel så öppnade jag just en Bluebird-bild på Madoka Wagure (en fil på 102,267 byte). Dess storlek är 541 x 768. Sålunda är den okomprimerade filens storlek exakt 1,246,464 bytes (541 x 768 x 3 = 1,246,464 kb). Tror ni mej fortfarande inte? Jag sparar 24-bitars bitmap (bmp) och dess storlek blev 1,247,286 byte (den blir lite större p g a filhuvudet). Det innebär att kompressionen i just denna bild var ungefär 12:1 (1,246 / 102 är just ungefär 12 / 1).
Svar 2: Jag tog samma bild och sparade den också som en jpeg med kvaliteten 95 (glöm inte, att detta tal är fullständigt godtyckligt med avseende på bildkvaliteten). Filen har en storlek av 125,974 byte. I detta fall så betyder det att just denna jpeg-bild med en kvalitet av 95 har ett kompressionsförhållande på 10:1. Med andra ord, så är 1/10 av alla pixel sparade i jpeg-filen.

========================================
Fråga: Jag har hört talas om en jpeg med komprimering utan förluster.
Svar: Ja, det finns två sådana format, men de är båda väldigt opraktiska, eftersom de komprimerar så lite. Det är faktiskt ingen av de vanligaste programmen som stöder det ena av dem; det blev omodernt nästan samma ögonblick som det kom ut. Det andra är inte heller särskilt populärt, och det av helt uppenbara skäl, och jag tvivlar på att det är många av de vanligaste programmen som stöder även detta. .

========================================
Fråga: Jag är ändå inte övertygad om detta!
Svar 1: Nähä, men jag gjorde just ett test med en bild på 237kb som hade många färger. Jag komprimerade den med hjälp av LViewPro till kvaliteten 75 och den blev då på 96kb. Jag lade den ena bilden över den andra och växlade snabbt mellan dem (så att i ena ögonblicket var 237kb-bilden överst och i nästa ögonblick var det 96kb -bilden som var överst). Jag kunde då inte se vilken av bilderna som var bäst. Utan den här tekniken så är det helt omöjligt att skilja bilderna åt. Om det nu inte var så att min websida tar upp det utrymme som den gör, så skulle jag ha satt upp dem så att du fått se själv. Så om du fortfarande inte tror på mej, så kom ihåg, att jag ändå är för upptagen med Vivian för att bry mej något mera.
Svar 2: Jag tog samma bild och sparade den i gif-format. Det blev en bild på 231kb och den såg mycket sämre ut än 96kb-bilden.
Svar 3: Det var en normal bild som jag arbetade med. Jag ska förklara undantag till detta senare.

========================================
Fråga: Om det nu är på detta viset, hur kommer det sej då att jag ibland ser en jpeg som är fruktansvärt dålig trots att den tar 500kb.
Svar: Någon fårskalle har förstört den. Detta förklaras mer i detalj senare i denna FAQ.

========================================
Fråga: Hur kommer det sej att denna jpeg ser bra ut men när jag öppnar den och sedan sparar den som jpeg så blir konturerna hackiga istället för att vara jämna och fina, trots att jag sparade den med en högre kvalitet än vad den var från början?
Svar 1: Jag kommer att förklara även detta senare. Om du ser på en svartvit film på en färgteve så är den ändå svartvit. Om du inte förstår vad jag menar med detta, så läs meningen igen mycket noga. När väl information gått förlorad så kan man inte få tillbaka den med konventionella metoder. Dessutom så försämras jpeg-bilden om den sparas igen, även om du sparar den med en högre kvalitet än vad den hade då du laddade hem den.
Svar 2: Anta att du spelar av en film från teve och sedan använder denna kopia för att sända ut filmen igen över jorden, och att då någon annan spelar av denna utsändning. Oavsett hur bra deras videobandspelare är så kommer deras inspelning vara av lägre kvalitet än din inspelning.

========================================
Bmp (bitmap-format)
========================================

Vad det är
Bmp är ett mycket gammalt bildformat. Det är också det naturligaste och enklaste bildformatet. Det liknar mycket PCX-formatet.

Dess för- och nackdelar
Bmp-formatet är ineffektivt då det gäller filstorleken. Men det finns faktiskt fördelar p g a dess enkelhet. Formatet är bra för små bilder där filstorleken är försumbar eller för bilder som används i applikationer. Bmp-filer stöds inte av de vanliga webläsarna.

Hur det fungerar
Varje pixel ges en färg (vanligen upp till 24-bitars upplösning). Väldigt enkelt.

Dess applikationer
Det finns en lång rad av applikationer som stöder bmp, men det är inte många av dem som är relevanta då det gäller scannade fotografier av hög kvalitet. Detta beror på att scannade bilder ofta kräver en högre färgupplösning (ifall du inte använder 24-bitars bmp vilket tar Mb i anspråk). Dessutom så ger jpeg den effektivaste filstorleken åt en scannad bild.

========================================
Gif
========================================

Vad det är
Gif är ett bra format för bilder med få färger, och då särskilt artificiellt skapade bilder. Det är ett vanligt format och stöds av de vanliga webläsarna.

Dess för- och nackdelar
Gif-formatet lagrar bilder genom att hänvisa till en referenslista för färgerna. Detta är en effektiv och snabb metod för komprimering. Men om en bild innehåller mer än 256 färger, så elimineras alla övriga färger. Därför passar gif-formatet mycket bra för artificiellt skapade bilder men återger inte färgerna i fotografier särskilt bra. I alla normala tillämpningar så är gif-bilder avsevärt mindre än bmp-bilder. Dessutom, vid konvertering till gif så behåller bilden full kvalitet i de fall bilden inte har mer än 256 färger. Då man konverterar en gif till bmp så ökar filstorleken för det mesta med 50% till 200% (av flera orsaker).

Hur det fungerar
Gif-formatet lagrar bilder med ett referenssystem som har en palett på upp till 256 färger. Denna metod särskiljer sej genom att istället för att varje pixel ges en individuell färg så ges de istället ett referensnummer, vilket hänvisar till en lista med 256 möjliga färger. Observera att det finns en stor mängd färger, men i detta format kan du bara använda 256 av dem. På detta sätt så tar en pixel endast en byte i anspråk (med 256 valmöjligheter) istället för 3 byte (16.7 miljoner färger). Emellertid så är det möjligt att eliminera antalet färger i en gif-fil till ett mindre antal än 256 för att på så sätt komprimera den ytterligare.
Som en jämförelse kan man säja att med gif-formatet kan man måla bilder med upp till 256 olika färgburkar (de färger som används kan väljas ur ett urval av 65 536 färger).
Tyvärr så är fotografier nästan aldrig begränsade till 256 färger. Till och med ett foto på en flagga kan ha mer än 256 färger, eftersom enbart skiftningarna i veckens skuggor kan ge upphov till t ex 50 olika nyanser av rödfärg. Men om man gör endast en liten avscanning av ett foto så kan denna bild mycket väl innehålla mindre än 256 färger. (i extrema fall t o m mindre än 256 pixel!). Däremot, en datorritad flagga har troligen mycket få färger, eftersom en sådan t ex kanske bara skulle innehålla en nyans av skuggad rödfärg.

Dess tillämpningar
Gif-formatet är väldigt bra och är extremt effektivt för artificiella bilder. Men om du försöker titta på en scannad bild med större färgupplösning med endast 256 färger tillgängliga, så skulle bilden bli "förstörd" så som sker om den skulle bli konverterad till gif. Formatet är mycket användbart för enkla tecknade bilder med få distinkta färger och för artificiella bilder. Om din dator endast stöder 256 färger så kommer du verkligen att längta efter din nästa dator.

========================================
Jpeg
========================================

Vad det är
Jpeg är det vanligaste formatet för fotografier. Om det görs riktigt, så kan man inte upptäcka kompressionen med blotta ögat.

Dess för- och nackdelar
Jpeg hanterar 24-bitars färg (3 byte, 16.7 miljoner färger, vilket är betydligt mer än vad många skärmar klarar av), vilket ger en väldigt bra färgåtergivning, i närheten av vad som är möjligt att urskilja med blotta ögat. Jpeg använder sej också av en typ av kompression genom att ta bort information, vilket dramatiskt kan minska bildens filstorlek. Alla bilder kräver dock inte den kvalitet som jpeg erbjuder, och gif-formatet är effektivare för vissa typer av bilder. Sålunda passar jpeg-formatet bäst för fotografier och färgbilder där hög färgupplösning är av stor betydelse. Om skärmen har en bra upplösning, så kan en bild se mycket naturtrogen ut. ;)
Jpeg har även ett format för gråskala. Jag tror att det vanligtvis är 8-bitars, med 12 bitar för medicinskt bruk i det fall ditt liv hänger på det. ;)

Hur det fungerar
Jpeg-bilder har en relativ kvalitetsskala upp till 100, där 100 oftast är i det närmaste perfekt. Hos Lviewpro, så innebär en kvalitet på 95 i grova drag en kompressions på 12:1. Denna kvalitetsskala är alltså relativ och varierar mellan olika program. Spara aldrig en jpeg-bild med en kvalitet i närheten av 100 i annat fall än om du är en knasboll. Orsaken är annat än uppenbar. Ju närmare kvaliteten är 100, ju mer av bildens pixel är lagrade i jpeg-filen. Tanken är att man vid kompressionen endast ska spara en bråkdel av bildens pixel. Vid dekompressionen gissar datorn eliminerade pixel med härledning av anliggande sparade pixel. Så när du öppnar en jpeg-bild som är sparad med kvaliteten, säg, 75 och sparar den återigen med kvaliteten 75, så är den inte lika bra som den var innan (fast de flesta upptäcker förmodligen aldrig skillnaden).

========================================
Kompression i jpeg-bilder genom eliminering
========================================

Hur kompression genom eliminering fungerar
Om du fortfarande inte förstår, så läs detta stycke. Man kan jämföra kompressionen av en bild till jpeg-format med att på en karta över världens alla länder endast ta med läget städerna. Att sedan dekomprimera jpeg-filen för att se på den är som att utifrån städerna lista ut formen på ländernas gränser. Ju högre kvalitet som jpeg-filen har, desto fler städer används som utgångspunkt. Vid en kvalitet på 100 är alla städer medtagna.

Se upp för förluster genom kompression
Om du har en jpeg-bild med kvaliteten 100 och komprimerar den till kvaliteten 80 med hjälp av den bästa komprimeringstekniken som finns i LViewpro, så menar jag att ingen i världen kan se någon skillnad även om bilderna visas samtidigt sida vid sida (många kan inte ens se skillnad mellan 100 och 75), förutsatt att en hygglig komprimeringsteknik har använts. Nu talar jag alltså om vanliga scannade fotografier (jag ska ge exempel på undantag senare). Förutsättningen är också att du har mjuk- och hårdvara av hygglig kvalitet (åtminstone en 16-bitars 1024x768-skärm och programmet ACDSee med optimerade inställningar). Dessutom så är Bluebird-bilderna aldrig komprimerade med kvaliteten 100, och då ska man tänka på att de anses av många vara de bästa scannade bilderna av sitt slag, och du kan ge dej på att Bluebird vet vad han sysslar med. En gång skickade en vän till mej tre stycken Bluebirdbilder på över 500kb vardera och frågade varför alla såg taskiga ut. Kvaliteten var så dålig att de förmodligen inte hade sett annorlunda ut om de ens bara varit på 20-30kb. Jag hade originalen, som var på drygt 100kb, och jag skickade dem till honom. Dessa bilder såg helt felfria ut. Vad som hänt är att en del tror att om en bild är skadad, så kan man fixa det genom att helt enkelt öka kvaliteten på jpeg-filen. Det här är dock inte annorlunda än att försöka ta en svartvit film och försöka spara den som färgfilm. Filmen kommer ju fortfarande att vara svartvit. Faktum är att försöka öka kvaliteten hos en skadad fil på detta vis förstör den bara ännu mer. De flesta program försämrar kvaliteten hos bilden om man t ex tar en 30kb jpeg och sparar den som en 500kb jpeg (om inte 500kb motsvarar kompressionen 1:1 förstås, alltså är dess ursprungliga storlek). Till sist, på grund av dessa misslyckade försök att förbättra bildkvaliteten, så medger inget program någonsin att man kommer i närheten av perfekt kvalitet (jag måste säja det igen, att en kvalitet på 100 är ett relativt tal och i de flesta sammanhang inte innebär perfekt kvalitet). Lviewpro har en maximal kvalitet av 95, vilket motsvarar i grova tal en kompression på 12:1. Generellt så definieras en kvalitet på 75 som den nivå som det mänskliga ögat kan börja upptäcka skillnaden. Så för att vara på den säkra sidan så är det bäst att spara med en kvalitet på 80-90 (Bluebirds ligger på omkring 90). Återigen måste jag nämna att detta är LviewPro's skala och den är inte densamma som andra program kanske använder.

Undantag då det gäller kvaliteten
Det kan ändå finnas fall då man kan se skillnad mellan Lviewpro's kvalitet 95 och en lägre kvalitet. Eftersom jpeg-filer komprimeras genom att eliminerade pixel gissas med utgångspunkt av anliggande pixel, så kan onaturligt raka eller handritade linjer bli förvrängda vid kompressionen. Detta beror dock nästan alltid på att bilden inte är scannad, eller att det är en dåligt scannad bild, eller att den modifierats efter scanningen.

========================================
Övriga anmärkningar
========================================

Ojämna linjer
Ibland kanske man kan se att "konturer" ser onaturliga ut (pixelbitarnas kanter syns tydligt). Normalt så ska färgen hos pixelrutorna skifta så att konturen blir mjuk, men beroende antingen på att den scannade bilden är av dålig kvalitet eller att program- eller hårdvaran inte är bra nog, så inträffar inte detta alltid. Den dåliga kvaliteten kan också bero på en bristfällig samplingsteknik. Än så länge så har jag dock inte sett denna effekt på en icke modifierad, professionellt scannad bild med den programvara och skärm som jag beskrev ovan.


Bevara naturtrogenheten
Med menar jag att man inte ska försöka redigera bilder med den intentionen att göra dem "bättre". Det är en annan sak om du reducerar en bild på t ex 300kb för personligt bruk (som för att få ett snabbare bildspel), men kom ihåg att en originalbild med sitt originalnamn är betydligt mer värdefull än en bild som blivit ändrad. Om du har ett bra skäl för att komprimera en bild (t ex att bilden ändå inte är original), så var noga med att göra det på rätt sätt. Jag föreslår att du sparar den komprimerade bilden med ett annat filnamn så att du har en chans att göra om komprimeringen om det inte blir bra första gången. Jag avråder från att förlita sej på Ångra-funktionen om det inte är så att du är mycket noggrann och försiktig, eftersom du då inte har originalet att jämföra resultatet med. Om det är så att storleken på filen minskar drastiskt då du sparar den med kvaliteten 75 så kanske det inte är en så dum idé att komprimera filen, särskilt om bilden inte är så värdefull. Om filstorleken inte minskar nämnvärt med kompressionen så undvik att komprimera den, eftersom det annars försämrar kvaliteten på filen alldeles i onödan, och att det dessutom kanske inte ens sparar in en enda byte på din hårddisk (se nedan om allokering av filer).
En fallstudie om att redigera originalbilder är den om försöket att sätta ihop två bilder till en. Personen i fråga hade två separata scannade bilder utav samma bild ur Laika-serien (samma bild, scannad av två olika personer). I ett försök att öka kvaliteten i de båda bilderna så lade han ihop dem. Resultatet blev en bild med större färgdjup och med betydligt mindre "brus". Tyvärr så förlorades dock något mycket värdefullt genom denna åtgärd, nämligen Laikas födelsemärken! Vad jag vill visa med detta exempel, är att en bild vid första påseende kan verka ha förbättrats genom redigering, men att den genom denna åtgärd förlorar sin autenticitet och sålunda sitt samlarvärde. För personligt bruk kan du naturligtvis göra som du vill med bilderna bara du inte glömmer bort att de sjunker i värde då du mixtrar med dem.

Att öppna jpeg-filer
Bara för att en jpeg kan hålla upp till 16,7 miljoner färger så innebär detta inte att du kan se alla dessa färger. Om din dator eller skärm inte stöder alla dessa färger så måste du kanske eliminera alla färger som datorn inte kan hantera innan du kan se på filen. På riktigt gamla datorer, som använder en referenslista för färgerna, så kan bildstympningen bli ganska illa. Jag har sett ett fall där bilden nästan var svartvit för att datorn var upptagen med att använda de övriga färgerna för Netscape. He he he, jag kan slå vad om att fem av dem gick åt endast till Netscapes logo! Ja, det är faktiskt så att det finns människor som fortfarande har datorer som endast stöder 256 eller 16 färger. Detta är särskilt fallet om du kör Windows (vissa färger är reserverade för att brukas av Windows). Om detta är fallet så ska du verkligen längta efter nästa uppgradering av hårdvaran...

Allokering av filer
Observera: På en typisk IBM-kompatibel PC så tar en fil på 32kb lika stor plats som en på 0kb. Det här beror på det sätt som datorn allokerar utrymme. Om du öppnar en katalog i Explorer, så säjer dej programmet att t ex 10 stycken filer på 1kb tar upp just 10kb. Men tyvärr så ljuger Windows Explorer för dej. Det är ju inte så underligt, eftersom det kommer från Microsoft. De flesta datorer förbrukar istället 320kb för dessa 10 filer på 1kb. Ett tydligt exempel på detta är då jag en gång hade 1000 filer, var och en på ungefär 50-60 byte (ja just det, byte, och fråga mej inte hur det gick till). Min Explorer talade om för mej att alla dessa filer tog upp ett utrymme på 80kb. Jag raderade dem fullständigt utan att placera dem i papperskorgen, och hux flux fick jag 30Mb mer fritt utrymme på hårddisken! I de flesta fall så allokeras utrymme i flera 32kb-bitar, men så är inte alltid fallet.
Sensmoralen är att det inte är så stor idé att komprimera en fil på 30kb till 20kb om det inte är så att din dator är så slö att detta avsevärt skulle öka hastigheten varmed bilden dekomprimeras. Och det kan ju också vara så, att du vill komprimera kopian av den där 400kb-bilden till 100kb för att den ska bli smidigare att använda i ett bildspel. ;)

-Ramses

Jag skriver dessa FAQs i förhoppningen att de ska vara till hjälp och lärdom för dej. Du får gärna korrigera mej eller lämna egna förslag. Du kan förbli anonym, eller så kan jag ge dej offentlig uppskattning för dina förslag i min tacklista (jag antar alltid det förra om inte annat anges, men lämna gärna din nick för användning i tacklistan).