Tiimin huomioita tekniikasta, tiedostomuodoista ja niistä pienistä päätöksistä, jotka tekevät hyvän lopputuloksen.
Miksi valokuva-PNG:t ovat niin suuria
Häviötön PNG-pakkaus tallentaa jokaisen pikselin tarkasti. Valokuvalle, jossa on miljoonia hienovaraisesti vaihtelevia sävyjä, tämä tuottaa erittäin suuria tiedostoja, koska naapuripikseleiden välillä ei juuri ole mitään kahdennettavaa tai ennustettavaa. Tyypillinen 1600x1200-valokuva tallentuu 3 megatavun ja 5 megatavun PNG:nä. Sama kuva JPEG:nä laadulla 85 asettuu 200 kilotavusta 400 kilotavuun. Tämä ero syntyy diskreetistä kosinimuunnoksesta JPEG:n ytimessä, joka toimii 8x8 pikselin lohkoissa, hylkää korkeataajuiset yksityiskohdat, joille näköjärjestelmä on vähiten herkkä, ja tallentaa jäljelle jäävät kertoimet tiiviisti. Tulos on paljon pienempi tiedosto mille tahansa kuvalle, jossa on jatkuvaa sävyvaihtelua, eli käytännössä jokaiselle valokuvalle. PNG:n häviötön takuu on arvokas grafiikalle ja työtiedostoille, mutta se on väärä säiliö jakamiseen menossa oleville valokuville.
Läpinäkyvyys ja alfakanava
PNG tukee täyttä 8-bittistä alfakanavaa, eli jokainen pikseli voi olla mitä tahansa täysin läpinäkyvän ja täysin peittävän väliltä. JPG ei määrittele lainkaan alfatietoa, koska sen säiliössä ei ole kenttää pikselikohtaiselle läpinäkyvyydelle. Kun alustan kuvamoottori tallentaa PNG:n uudelleen JPEG:ksi, se yhdistää alfakanavan taustaväriin ennen tallennusvaihetta. Oletustausta on valkoinen, minkä vuoksi PNG:n läpinäkyvät alueet näkyvät valkoisina valmiissa JPG:ssä. Olennaista on, ettei mikään työkalu voi tuottaa läpinäkyvää JPG:tä, koska muoto ei tunne koko käsitettä. Jos leikkeen säilyttäminen on tärkeää, vastaus on WebP tai PNG:n säilyttäminen. RoundCut valitsee valkoisen litistysväriksi, koska se sopii useimpien asiakirjojen ja tuotelistausten taustaan.
Mitattu tallennuksen suorituskyky
Mitattu Chrome 148:lla, Linux-pöytäkoneella, alustan JPEG-tallennusta käyttäen. 400x300-kuva (0,12 MP) tallentuu noin noin 10 millisekunnista 15 millisekuntiin. 1024x768-kuva (0,78 MP) tallentuu noin noin 13 millisekunnista 20 millisekuntiin. 3840x2160-kuva (8 MP) tallentuu noin 1,4 sekunnissa. 8000x6000-kuva (48 MP) tallentuu noin 1,5 sekunnissa. JPEG-tallennus selaimessa on merkittävästi nopeampaa kuin PNG-tallennus samalle kuvalle, ja paljon nopeampaa kuin AVIF, joka tarvitsee erillisen moduulin ja voi kestää 25 sekuntia 48 megapikselin kuvalla jopa pöytäkoneen Chromessa. Tämä nopeusetu tekee PNG-muunnoksesta JPG-muotoon yhden tämän perheen nopeimmista poluista, ilman ylimääräistä latauskustannusta, koska JPEG-tallennus on sisäänrakennettu jokaiseen selaimeen.
EXIF- ja metatietojen käsittely
Tallennusketju poistaa EXIF-, IPTC- ja XMP-tiedot tulos-JPG:stä kaikissa selaimissa. Tämä tarkoittaa, että sijaintikoordinaatit, kameran malli, kuvauspäivä, tekijänoikeusilmoitus ja kaikki lähde-PNG:ssä olevat mukautetut kentät poistetaan. ICC-väriprofiilit kulkevat eri reittiä, jossa Chrome ja Safari säilyttävät sRGB-ICC-profiilin tuloksessa, kun taas Firefox poistaa sen kokonaan. Käytännön tulos on, että muunnettu JPG on sRGB-turvallinen kaikissa selaimissa, mutta jos PNG oli merkitty laajan väriavaruuden profiililla kuten Display-P3 tai Adobe RGB, kyseinen merkintä ei säily Firefoxissa. Jos täydellisten metatietojen säilyttäminen on työnkulun vaatimus, muokkaa niitä omistetulla työkalulla muunnoksen jälkeen. Tavallisessa verkko- ja jakelukäytössä metatietojen poisto on hyödyllistä, koska se pienentää tiedostoa hieman ja poistaa GPS-tiedot valokuvista.
Milloin JPG-häiriöt ovat näkyviä
JPEG-pakkaus toimii 8x8 pikselin lohkoissa. Kun lähdekuvassa on kova siirtymä kahden hyvin erilaisen värin välillä yhden lohkon sisällä, JPEG-pakkaus arvioi sen siirtymän rajatuilla taajuuskertoimilla. Tuloksena on renkaita, vaaleampien tai tummempien pikselien sädekehä reunan ympärillä. Valokuvissa tämä on näkymätöntä, koska reunat eivät ole koskaan täysin teräviä ja todellisissa kuvissa on mikrovaihtelua, johon arvio osuu hyvin. Kuvakaappauksissa, logoissa, kovareunaisissa käyttöliittymäelementeissä, tekstissä tai vierekkäisissä yhtenäisissä värialueissa renkaat näkyvät selvästi millä tahansa asetuksella, koska juuri tällaiset elementit ovat sitä signaalia, jota algoritmi käsittelee huonosti. Ohje on suoraviivainen, älä muunna kuvakaappauksia, logoja tai tekstipainotteisia kuvia JPG:ksi. Säilytä ne PNG:nä tai käytä WebP:tä pienempään tiedostoon, joka välttää ongelman kokonaan.
Yksityisyys käytännössä
Missä muunnos tapahtuu, riippuu tiedostojen määrästä. Yhdelle kuvalle mikään data ei poistu selaimesta, ja sen voi todentaa reaaliajassa. 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.