Tiimin huomioita tekniikasta, tiedostomuodoista ja niistä pienistä päätöksistä, jotka tekevät hyvän lopputuloksen.
Häviötön säiliö, mitä PNG tallentaa
PNG nojaa häviöttömään DEFLATE-algoritmiin. Se tallentaa jokaisen kuvapisteen RGBA-arvot täsmälleen annetussa muodossa, soveltaa palautuvaa suodatinta jokaiseen kuvariviin ja pakkaa tuloksen zlib-muunnoksella. Häviötön tarkoittaa, että puretut kuvapistearvot ovat tavu tavulta samat kuin alkuperäiset. JPG-PNG-tapauksessa alkuperäiset ovat kuvapisteet, jotka syntyvät, kun selain purkaa JPEG:n. Puretut kuvapisteet heijastavat jo kaikkia likiarvoja, joita JPEG teki alkuperäisessä koodauksessaan, joten PNG tallentaa uskollisesti likimääräiset kuvapisteet, ei todellista näkymää. Mitattuna 17 kt:n JPEG koossa 1024x768 muuttuu noin 105 kt:n PNG-kuvaksi, ja 116 kt:n JPEG koossa 3840x2160 kasvaa noin 384 kt:iin. Nämä kertoimet pysyvät suunnilleen samoina eri sisältötyyppien välillä, sillä suhde seuraa tarkkuutta, ei JPEG-laatutasoa. Häviötön säiliö on arvokas sen vuoksi, mitä se estää, eli jatkuvan heikkenemisen, ei sen vuoksi, mitä se palauttaa.
Miksi JPEG-laatua ei voi palauttaa
JPEG-pakkaus hylkää tietoa pysyvästi. Koodausprosessi soveltaa diskreettiä kosinimuunnosta 8x8 kuvapisteen lohkoihin, kvantisoi tuloksena syntyvät taajuuskertoimet pienempään joukkoon ja tallentaa kvantisoidut arvot. Kvantisointivaihe kulkee vain yhteen suuntaan, sillä kerrointa, joka oli 47 ja pyöristettiin arvoon 50, ei voi palauttaa arvoon 47 myöhemmin, eikä mikään merkintä alkuperäisestä arvosta säily tiedostossa. Kun selain purkaa JPEG:n, se rakentaa kuvapisteet uudelleen kvantisoiduista kertoimista, jotka ovat alkuperäisten arvojen likiarvoja. Näiden likimääräisten kuvapisteiden uudelleentallennus PNG-muotoon tuottaa häviöttömän tallenteen likiarvoista, joten PNG on heikentyneen kuvan täydellinen esitys. Tämä ei ole PNG:n tai tämän työkalun rajoitus, se on häviöllisen pakkauksen perusominaisuus, jossa koodausvaiheessa hylätty tieto on mennyt. JPEG-laadun parantaminen vaatii aloittamista pakkaamattomasta alkuperäisestä tai RAW-tiedostosta.
Mitattu tiedostokoon kasvu
Kokosuhde JPG:stä PNG:hen vaihtelee kuvasisällön mukaan, mutta noudattaa ennustettavaa kaavaa. Valokuvalliset kuvat, joissa on monimutkaista sävyvaihtelua, kasvavat eniten, sillä JPEG:n muunnos on viritetty juuri sellaiselle sisällölle ja saavuttaa korkeat pakkaussuhteet, kun taas PNG:n häviötön pakkaus ei voi vastata niihin kohinaisella kuvapistedatalla. Tämän työkalun testimittaukset osoittavat, että 17 kt:n JPEG-valokuva koossa 1024x768 tuottaa 105 kt:n PNG:n, noin 6-kertaisen kasvun, ja 116 kt:n JPEG-valokuva koossa 3840x2160 tuottaa 384 kt:n PNG:n, noin 3,3-kertaisen kasvun. Litteille kuville, kuten kuvakaappauksille ja kuvakkeille, JPEG sopii sisältöön huonosti alusta alkaen ja sen tiedostot ovat yleensä raskaampia vastaavalla laadulla, joten saman sisällön PNG kasvaa vähemmän rajusti. Käytännön seuraus on suora, jos tuloksen tiedostokoko on tärkeä käyttötarkoituksellesi, JPG:n muuntaminen PNG-muotoon pahentaa tilannetta, ei paranna sitä.
Läpinäkyvyys, ominaisuus vastaan sisältö
PNG tukee 8-bittistä alfakanavaa säiliöominaisuutena, jossa tiedosto voi sisältää kuvapistekohtaisia peittävyysarvoja välillä 0 (täysin läpinäkyvä) ja 255 (täysin läpinäkymätön). Kun JPG muunnetaan PNG-muotoon uudelleentallentamalla sisäänrakennetun kuvamoottorin kautta, syntyvä PNG asetetaan täysin läpinäkymättömäksi, jokainen kuvapiste alfa-arvolla 255, sillä lähde-JPG:llä ei ollut alun perin lainkaan läpinäkyvyystietoa. PNG-muoto on valmis säilyttämään läpinäkyvyysdataa, tiedosto vain ei sisällä sitä lainkaan, koska sitä ei ollut lähteessä. Läpinäkyvyyden lisääminen kuvaan vaatii erillisen käsittelyn, joko taustan maskaamisen muokkausohjelmassa tai automaattisen taustanpoistovaiheen käyttämisen. Taustanpoistaja, joka on koulutettu tunnistamaan kohteen, voi tuottaa PNG:n aidolla alfalla nollaamalla taustan kuvapisteiden alfa-arvot muunnoksen jälkeen.
EXIF-metatietojen käsittely
Uudelleentallennus poistaa EXIF-, IPTC- ja XMP-metatiedot PNG-tuloksesta kaikissa selaimissa. Tämä tarkoittaa, että GPS-koordinaatit, kameran malli, kuvauspäivä, tekijänoikeustekstit ja mahdolliset mukautetut XMP-kentät lähde-JPG:ssä poistetaan. ICC-väriprofiilit seuraavat hieman eri polkua, jossa Chrome ja Safari säilyttävät sRGB ICC-profiilimerkinnän tuloksessa ja Firefox poistaa sen kaikkien muiden metatietojen ohella. Käytännön tulos on sRGB-turvallinen tulos eri selaimissa, mutta laajan väliavaruuden profiilit, kuten Display-P3 tai Adobe RGB, menetetään Firefoxissa. Useimmissa verkko- ja jakelukäytöissä metatietojen poisto on hyödyllistä, sillä se pienentää tuloksen kokoa hieman ja poistaa sijaintitiedot valokuvista. Ammattivalokuvauksessa tai arkistotyönkuluissa, joissa upotetut metatiedot on säilytettävä, käsittele metatietoketju erillisellä työkalulla ennen muotomuunnosta tai sen jälkeen.
Yksityisyys käytännössä
Missä muunnos tapahtuu, riippuu tiedostojen määrästä. Yhdelle kuvalle mikään data käsitellään laitteellasi, ja sen voi todentaa reaaliajassa. Avaa Lista pysyy tyhjänä koodauksen aikana. Kahdelle tai useammalle tiedostolle RoundCut lähettää ne palvelimellemme, joka muuntaa, pakkaa tuloksen ja palauttaa latauslinkin. Tuo linkki ja muunnetut tiedostot poistetaan noin 2 tunnissa. Yhden kuvan reitti pyörii kokonaan laitteellasi, verkon ulkopuolella, kun taas eräreitti vaihtaa sen mukavuuteen muuntaa monta tiedostoa kerralla. Arkaluonteista sisältöä sisältäville kuville, kuten kuvakaappaukselle henkilökohtaisesta asiakirjasta tai sijaintitietoja kantavalle valokuvalle, yksi kerrallaan pitää kaiken paikallisena.