Kotisivu » miten » Onko PNG-muoto Lossless, koska sillä on pakkausparametri?

    Onko PNG-muoto Lossless, koska sillä on pakkausparametri?

    PNG-muodon on tarkoitus olla häviötön muoto, mutta kun tallennat kuvan PNG-tiedostona, sinua pyydetään valitsemaan pakkausaste. Tarkoittaako tämä sitä, että PNG-muoto ei todellakaan ole häviöttömänä? Tämän päivän SuperUser Q&A -postin avulla voit selvittää sekaannusta utelias lukijalle.

    Nykypäivän Kysymys- ja vastaus -istunto tulee meille suotuisasti SuperUserin - Stack Exchange -alueen, yhteisöpohjaisen Q & A-sivustojen ryhmittymän - kautta..

    Kysymys

    SuperUser-lukija pkout haluaa tietää, vaikuttavatko valitun pakkausasteen PNG-kuvan laatu.

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

    Jos siinä on pakkausparametri, joka vaikuttaa pakatun kuvan visuaaliseen tarkkuuteen, miten PNG häviää sitten? Voisiko joku kertoa tästä minulle? Saanko häviötöntä käyttäytymistä vain, kun asetan pakkausasteen 9: een?

    Onko kuvan laadussa eroja valitsemasi pakkausasteen mukaan?

    Vastaus

    SuperUserin avustajat LordNeckbeard ja jjlin ovat vastaus meille. Ensinnäkin, LordNeckbeard:

    PNG on pakattu, mutta häviötön

    Pakkaustaso on kompromissi tiedoston koon ja koodauksen / dekoodauksen nopeuden välillä. Liian yleistämiseksi jopa ei-kuvamuodot, kuten FLAC, ovat samankaltaisia.

    Erilaiset puristustasot, sama dekoodattu lähtö

    Vaikka tiedostokoot ovat erilaiset pakkausasteiden vuoksi, todellinen dekoodattu lähtö on identtinen. Voit verrata dekoodattujen lähdöiden MD5-hajautuksia ffmpeg-laitteeseen käyttäen MD5-muxeria. Tämä näkyy parhaiten joissakin esimerkeissä.

    Luo PNG-tiedostoja

    • Oletuksena ffmpeg käyttää -compression_level 100 PNG-lähtöä varten.
    • Nopea, huolimaton testi osoitti, että 100 (korkein pakkausaste) kesti noin kolme kertaa kauemmin koodauksen ja viisi kertaa pidempään dekoodata kuin 0 (alin pakkausaste) tässä esimerkissä.

    Vertaa tiedoston kokoa

    Dekoodaa PNG-tiedostot ja Näytä MD5 Hashes

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

    Jjlinin vastausta seuraa:

    PNG on häviötön. GIMP ei todennäköisesti käytä tässä tapauksessa parasta sanamuotoa.

    Ajattele sitä pakkauksen laatu tai pakkausaste. Pienemmällä pakkauksella saat suuremman tiedoston, mutta sen valmistamiseen kuluu vähemmän aikaa, kun taas korkeammalla pakkauksella saat pienemmän tiedoston, joka kestää kauemmin..

    Tyypillisesti saat vähentyneen tuoton, ts. Ei ole niin paljon pienempää kokoa kuin aika, joka kuluu korkeimpaan pakkausasteeseen asti, mutta se on sinusta.


    Onko jotain lisättävää selitykseen? Ääni pois kommenteista. Haluatko lukea lisää vastauksia muilta tech-savvy Stack Exchange -käyttäjiltä? Tutustu koko keskusteluketjuun täällä.