Ingen opplasting, 100% lokalt, ingen konto

Artikkel

Hvorfor bilder mister kvalitet ved hver lagring

Et bilde som så skarpt ut på et kamerarull kommer ut klumpete etter å ha blitt videresendt gjennom noen gruppechatter og repostet et par ganger. Ingen redigerte det med vilje; det gikk bare gjennom flere omkodinger, og hver av dem kastet litt mer detalj bort. Dette er generasjonstap, en gammel og godt forstått egenskap ved lossy-komprimering, og det forklarer hvorfor bilder som deles mye ofte ser gradvis verre ut. Her er hva en lossy omkoding faktisk kaster bort, hvorfor det akkumuleres, og hvordan du stopper en fil fra å forringes videre.

Hva «lossy» faktisk kaster bort

JPEG, formatet bak de fleste bilder som deles på nett, er lossy av design: standarden bak det, ITU-T T.81, fungerer ved å transformere blokker av piksler til frekvensdata og deretter avrunde de dataene mer eller mindre aggressivt avhengig av kvalitetsinnstillingen, et trinn kalt kvantisering. Avrunding kan ikke gjøres om nøyaktig; den forkastede detaljen er genuint borte, ikke skjult et sted i filen. En høy kvalitetsinnstilling avrunder forsiktig og tapet er vanskelig å se, en lav en avrunder hardt og filen blir synlig klumpete, men selv en enkelt JPEG-lagring kaster alltid noe bort.

Hver omkoding er en ny generasjon

Første gang et bilde lagres som en JPEG, kvantiseres kameraets pikseldata én gang. Å åpne den JPEG-en igjen og lagre den igjen, selv uten noen redigering i det hele tatt, avkoder de allerede tilnærmede pikslene og kvantiserer dem en andre gang, oppå den første avrundingen, ikke i stedet for den. Hver ekstra lagring er en ny generasjon, og hver av dem akkumulerer den klumpeteheten og fargebåndingen den forrige generasjonen allerede introduserte. Én enkelt omgang ved en fornuftig kvalitetsinnstilling er nesten usynlig; den samme innstillingen brukt fem eller seks ganger på rad på samme fil forringer et bilde synlig, fordi feilene fra hver tidligere generasjon fortsatt er der når den neste avrunder igjen.

En kjede av fem JPEG-generasjoner: hver omkoding starter fra den forrige sine allerede avrundede piksler, og bildet blir synlig mer klumpete ved femte generasjon

Hvorfor bilder som deles mye ser verre ut

Et bilde som reiser gjennom flere chatter, feeder og nye opplastinger, plukker opp en ny generasjon ved nesten hvert hopp: en meldingsapp omkoder det for chatten, en sosial plattform omkoder det igjen for sin egen leveringspipeline, noen tar skjermbilde av resultatet og laster opp det skjermbildet på nytt, som er enda en full omkoding av et allerede forringet bilde. Ingen av disse trinnene trenger å være uforsiktige eller bruke en uvanlig lav kvalitetsinnstilling for at effekten skal akkumuleres; det er kumulativt av natur, som er nøyaktig hvorfor et bilde som har sirkulert mye over lang tid ofte viser merkbart mer klumpethet og fargebånding enn en fersk kopi av samme bilde.

Tapsfrie formater har ikke dette problemet

PNG og tapsfri WebP fungerer annerledes: de komprimerer ved å finne mønstre i de eksakte pikseldataene og pakke det mer effektivt, uten å avrunde noe bort, så avkoding og omkoding av samme tapsfrie fil, uten redigering, reproduserer pikslene eksakt, generasjon etter generasjon. Den garantien er hvorfor skjermbilder og grafikk med skarpe kanter eller tekst vanligvis lagres som PNG i stedet for JPEG. Det kommer med en kostnad: en tapsfri fil av et typisk fotografi er mye større enn en JPEG ved rimelig kvalitet, siden det ikke er noen avrunding å krympe den med.

Ti omlagringer sammenlignet: en JPEG viser synlige klumpete artefakter som bygger seg opp, en tapsfri PNG forblir pikselidentisk med originalen

Å holde en fils kvalitet under kontroll

Generasjonstap-kjeden akkumuleres bare når hver lagring starter fra den forrige lagringens allerede forringede piksler. Å beholde en tapsfri master, den opprinnelige kamerafilen eller en PNG, og eksportere en fersk JPEG fra den masteren hver gang, unngår å stable ny avrunding oppå gammel avrunding. Bildekomprimereren vår lar deg velge en kvalitetsinnstilling og se den resulterende filstørrelsen før du sender noe, og sammenligningsverktøyet vårt for bilder setter originalen og den komprimerte kopien side om side med en glidebryter, slik at du kan fange en dårlig innstilling før du videresender filen og starter en ny generasjon. Begge kjører helt i nettleseren din: bildet forlater aldri enheten din for å bli sjekket.

Verktøy i denne artikkelen

Ofte stilte spørsmål

Forringer det å kopiere eller flytte en JPEG-fil den?

Nei. Å kopiere en fil, legge den ved en e-post, eller flytte den mellom mapper kopierer de eksakte samme bytene; ingenting avkodes eller omkodes, så ingenting kvantiseres igjen. Generasjonstap skjer bare når pikslene faktisk åpnes og lagres igjen, ikke når selve filen flyttes rundt.

Kan jeg angre generasjonstap og gjenopprette den tapte detaljen?

Nei. Kvantisering er genuint lossy: de avrundede frekvensdataene en tidligere lagring forkastet er ikke registrert noe sted i filen, så ingen filter eller algoritme kan rekonstruere det. Å skjerpe eller støyfjerne en forringet JPEG kan gjøre artefaktene mindre synlig merkbare, men det gjenoppretter ikke den opprinnelige detaljen.

Stopper konvertering av en forringet JPEG til PNG problemet?

Å konvertere etter at skaden er gjort bevarer hva enn JPEG-en allerede ser ut som på det punktet, piksel for piksel, uten å legge til et nytt avrundingstrinn, men det kan ikke gjenopprette detalj tapt i tidligere lagringer. Løsningen er å begynne å beholde en tapsfri master før flere generasjoner skjer, ikke å konvertere et bilde sent i kjeden.

Kilder