Koduleht » kuidas » Kas PNG-vorming on kadunud, kuna tal on tihendusparameeter?

    Kas PNG-vorming on kadunud, kuna tal on tihendusparameeter?

    PNG-vorming peaks olema kadudeta formaat, kuid kui salvestate kujutise PNG-failina, palutakse teil valida tihendustasand. Kas see tähendab, et PNG-vorming ei ole tegelikult kadudeta? Tänane SuperUser Q&A postitus aitab selgitada uudishimulik lugeja segadust.

    Tänane küsimuste ja vastuste seanss saabub meiega kohtades, kus on SuperUser-Stack Exchange'i alajaotis, kogukondlikult juhitav Q&A veebisaitide rühmitus.

    Küsimus

    Superkasutaja lugeja pkout soovib teada, kas valitud PNG-pildi kvaliteeti mõjutab valitud kompressioonitase:

    Nagu ma aru saan, kasutavad PNG-failid kadudeta tihendust. Siiski, kui kasutan pildiredaktorit nagu Gimp ja üritan salvestada pildi PNG-failina, palub ta tihendustaset vahemikus 0 kuni 9.

    Kui sellel on tihendatud parameeter, mis mõjutab kokkusurutud kujutise visuaalset täpsust, siis kuidas PNG siis kaotab? Kas keegi palun mulle seda seletada? Kas ma saan kadudeta käitumist ainult siis, kui panen tihendustaseme 9-ni?

    Kas pildi kvaliteet sõltub teie valitud tihendustasemest?

    Vastus

    SuperUser'i toetajad LordNeckbeard ja jjlin on meile vastuseks. Esimene üles, LordNeckbeard:

    PNG on tihendatud, kuid kaotamata

    Tihendustase on kompromiss failisuuruse ja kodeerimise / dekodeerimise kiiruse vahel. Liiga üldistamiseks on isegi mitte-kujutise formaatidel nagu FLAC sarnased mõisted.

    Erinevad tihendustasemed, sama dekodeeritud väljund

    Kuigi failisuurused on erineva tihendustaseme tõttu erinevad, on tegelik dekodeeritud väljund identne. Võid võrrelda dekodeeritud väljundite MD5 hashe ffmpegiga, kasutades MD5 muxerit. Seda on kõige parem näidata mõnede näidetega.

    PNG-failide loomine

    • Vaikimisi kasutab ffmpeg PNG väljundi jaoks -compression_level 100.
    • Kiire ja lohakas test näitas, et 100 (kõrgeim kokkusurumise tase) kodeeris kodeerimiseks ligikaudu kolm korda kauem ja selle näite dekodeerimiseks viis korda pikemaks (madalaim tihendustasem).

    Faili suuruse võrdlemine

    Dekodeerige PNG-failid ja näitage MD5 Hashes

    Kuna mõlemad vahed on samad, võite olla kindlad, et dekodeeritud väljundid (tihendamata toorfailid) on täpselt samad.

    Järgneb jjlinilt saadud vastus:

    PNG on kadudeta. Kõige tõenäolisemalt ei kasuta GIMP käesoleval juhul parimat sõnastust.

    Mõtle sellele kokkusurumise kvaliteet või kokkusurumise tase. Madalama pakkimisega saad suurema faili, kuid selle koostamiseks kulub vähem aega, samas kui kõrgema tihendusega saad väiksema faili, mis võtab kauem aega..

    Tavaliselt saad sa väheneva tulu, s.t. mitte suurema vähenemise, võrreldes ajaga, mis kulub suurima tihendustasemeni jõudmisel, kuid see on sinust.


    Kas teil on midagi lisada selgitusele? Heli on kommentaarides välja lülitatud. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Vaadake siin täielikku arutelu lõiku.