Noter fra teamet om håndværk, formater og de små beslutninger bag et godt resultat.
Den tabsfrie beholder, hvad PNG gemmer
PNG bruger den tabsfrie DEFLATE-algoritme. Den gemmer hver pixels RGBA-værdier nøjagtigt, som de er givet, anvender et reversibelt filter på hver billedlinje og komprimerer resultatet med en zlib-variant. Tabsfrit betyder, at de dekomprimerede pixelværdier er byte-identiske med originalerne. I JPG-til-PNG-tilfældet er originalerne de pixels, der opstår, når browseren afkoder JPEG'en. De afkodede pixels afspejler allerede alle de tilnærmelser, JPEG lavede under sin oprindelige kodning, så PNG gemmer trofast de tilnærmede pixels, ikke den virkelige scene. Målt bliver en JPEG på ved 1024x768 til omkring som PNG, og en JPEG på ved 3840x2160 vokser til cirka . Disse forhold holder sig nogenlunde på tværs af indholdstyper, for forholdet følger opløsning, ikke JPEG-kvalitetsniveau. Den tabsfrie beholder er værdifuld for det, den forhindrer, yderligere forringelse, ikke for det, den genopretter.
Derfor kan JPEG-kvalitet ikke hentes tilbage
JPEG-komprimering kasserer information for altid. Kodningen anvender en diskret cosinustransformation på blokke på 8x8 pixels, kvantiserer de resulterende frekvenskoefficienter ned til et mindre sæt og gemmer de kvantiserede værdier. Kvantiseringstrinnet går kun én vej, for en koefficient, der var 47 og blev rundet til 50, kan ikke føres tilbage til 47 senere, og ingen optegnelse af den oprindelige værdi overlever i filen. Når browseren afkoder JPEG'en, bygger den pixels om fra de kvantiserede koefficienter, som er tilnærmelser af de oprindelige værdier. At gemme disse tilnærmede pixels som PNG giver en tabsfri optegnelse af tilnærmelserne, så PNG'en er en perfekt gengivelse af det forringede billede. Det er ikke en begrænsning ved PNG eller ved dette værktøj, det er en grundlæggende egenskab ved tabsbaseret komprimering, hvor information, der kasseres ved kodning, er væk. At forbedre JPEG-kvalitet kræver, at man starter fra den ukomprimerede original eller RAW-filen.
Målt vækst i filstørrelse
Størrelsesforholdet fra JPG til PNG varierer med billedindhold, men følger et forudsigeligt mønster. Fotografiske billeder med kompleks tonal variation vokser mest, for JPEGs transformation er finjusteret til netop det indhold og opnår høje komprimeringsforhold, mens PNGs tabsfrie komprimering ikke kan matche dem på støjende pixeldata. Testmålinger fra dette værktøj viser et JPEG-foto på ved 1024x768, der giver en PNG på , omkring 6 gange vækst, og et JPEG-foto på ved 3840x2160, der giver en PNG på , omkring 3,3 gange vækst. Til flade billeder som skærmbilleder og ikoner passer JPEG dårligt til indholdet fra start, og dets filer har en tendens til at veje mere for tilsvarende kvalitet, så PNG'en af samme indhold vokser mindre dramatisk. Den praktiske følge er direkte, betyder resultatets filstørrelse noget for dit formål, så gør det situationen værre at lave en JPG om til PNG, ikke bedre.
Gennemsigtighed, muligheden over for indholdet
PNG understøtter en 8-bit alfakanal som en beholderfunktion, hvor en fil kan indeholde gennemsigtighedsværdier pr. pixel fra 0 (helt gennemsigtig) til 255 (helt uigennemsigtig). Når en JPG laves om til PNG ved omkodning gennem den indbyggede billedmotor, sættes den resulterende PNG til helt uigennemsigtig, med hver pixel på en alfaværdi på 255, for kilde-JPG'en havde ingen gennemsigtighedsinformation til at begynde med. PNG-formatet er klar til at holde gennemsigtighedsdata, filen indeholder blot ingen, for ingen var til stede i kilden. At tilføje gennemsigtighed til billedet kræver separat behandling, enten at maskere baggrunden i et redigeringsprogram eller at bruge et automatisk baggrundsfjernelsestrin. En baggrundsfjerner, der er trænet til at genkende motivet, kan give en PNG med ægte alfa ved at nulstille alfaværdierne på baggrundspixels efter omformningen.
Håndtering af EXIF-metadata
Omkodningen fjerner EXIF-, IPTC- og XMP-metadata fra PNG-resultatet i alle browsere. Det betyder, at GPS-koordinater, kameramodel, optagedato, ophavsretstekst og eventuelle brugerdefinerede XMP-felter i kilde-JPG'en fjernes. ICC-farveprofiler følger en lidt anden vej, hvor Chrome og Safari beholder sRGB ICC-profiltagget i resultatet, mens Firefox fjerner det sammen med alle andre metadata. Den praktiske følge er sRGB-sikkert resultat på tværs af browsere, men brede farveprofiler såsom Display-P3 eller Adobe RGB går tabt i Firefox. Til de fleste nett- og delingsformål er fjernelse af metadata en hjælp, for det reducerer resultatets størrelse lidt og fjerner placeringsdata fra fotos. Til professionel fotografi eller arkivarbejdsgange, hvor indlejret metadata skal bevares, så håndtér metadatakæden med et dedikeret værktøj før eller efter formatomformningen.
Privatliv i praksis
Hvor konverteringen sker afhænger af antallet af filer. For ét enkelt billede forlader ingen data browseren, og det kan verificeres i realtid. Listen forbliver tom under kodningen. For to eller flere filer sender RoundCut dem til vores server, som konverterer, pakker resultatet og returnerer et downloadlink. Det link og de konverterede filer slettes inden for cirka 2 timer. Vejen for ét billede kører helt på din enhed, uden for nettet, mens bunkevejen bytter det mod bekvemmeligheden ved at konvertere mange filer på én gang. For billeder med følsomt indhold, som et skærmbillede af et personligt dokument eller et foto med positionsdata, holder ét ad gangen alt lokalt.