If-Koubou

Onko PNG-formaatti menettämättömiä, koska sillä on kompressioparametri?

Onko PNG-formaatti menettämättömiä, koska sillä on kompressioparametri? (Miten)

PNG-muodon pitäisi olla häviöttömästi muotoiltu, mutta kun tallennat kuvan PNG-tiedostona, sinua pyydetään valitsemaan pakkaustaso. Tarkoittaako tämä, että PNG-muoto ei todellakaan ole häviöttömiä? Tämän päivän SuperUser Q & A -viesti auttaa selvittämään sekasortoa utelias lukija.

Tämän päivän kysymys- ja vastausistunto tulee meihin SuperUserin hyväksi - Stack Exchangein alaosasto, joka on yhteisöllinen Q & A-sivustojen ryhmittely.

Kysymys

SuperUser-lukija pkout haluaa tietää, vaikuttavatko valitun pakkaustason PNG-kuvan laatuun:

Kuten ymmärrän, PNG-tiedostot käyttävät häviötöntä pakkausta. Kuitenkin, kun käytän kuvanmuokkausohjelmistoa, kuten Gimpia ja yritän tallentaa kuvan PNG-tiedostona, se pyytää pakkaustasoa välillä 0 - 9.

Jos sillä on kompressioparametri, joka vaikuttaa pakatun kuvan visuaaliseen tarkkuuteen, miten PNG ei ole häviämässä sitten? Voiko joku selittää minulle tämän? Saanko häviötöntä toimintaa vain, kun asetan pakkaustason 9: een?

Onko kuvan laadussa eroja valitun pakkaustason mukaan?

Vastaus

SuperUser-avustajat LordNebebeard ja jjlin ovat meille vastaus. Ensin ylös, LordNeckbeard:

PNG on pakattu, mutta häviöttömästi

Puristustaso on kompromissi tiedoston koon ja koodauksen / dekoodauksen nopeuden välillä. Liian yleistymään jopa FLAC-kuvaformaatilla ei ole samanlaisia ​​käsitteitä.

Eri kompressiotasot, sama dekoodattu lähtö

Vaikka tiedostokoot eroavat eri pakkaustasoista, todellinen dekoodattu tulostus on identtinen. Voit verrata dekoodatuista lähdöistä MD5-lomakkeita ffmpeg: llä MD5-muxerilla. Tämä näkyy parhaiten muutamia esimerkkejä.

Luo PNG-tiedostoja

  • Oletuksena ffmpeg käyttää -kompression_level 100 PNG-lähdölle.
  • Nopea, likaantunut testi osoitti, että 100 (suurin puristustaso) kesti noin kolme kertaa kauemmin koodaamaan ja viisi kertaa pidempi dekoodaamiseksi kuin tässä esimerkissä (pienin puristusaste).

Vertaa tiedoston kokoa

Decode PNG-tiedostot ja Näytä MD5 Hashes

Koska molemmat hasteet ovat samat, voit olla varma, että dekoodatut lähdöt (kompressoimattomat raakatiedostot) ovat täsmälleen samat.

JJlinin vastauksen jälkeen:

PNG on häviöttömiä. GIMP ei todennäköisesti käytä parhaan mahdollisen sanamuodon valinta tässä tapauksessa.

Ajattele sitä pakkauksen laatu tai puristustaso. Pienemmällä puristuksella saat isomman tiedoston, mutta sen tuottamiseen kuluu vähemmän aikaa, kun taas korkeammalla pakkauksella saat pienemmän tiedoston, joka kestää kauemmin tuottaa.

Tyypillisesti saat vähenevää tuottoa, eli ei ole niin paljon pienempiä kuin aika, joka kestää, kun menee korkeimpien pakkaustasoille, mutta se riippuu sinusta.

Onko jokin asia lisättävä selitykseen? Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä? Katso koko keskusteluketju täältä.