Pagrindinis » kaip » Ar PNG formatas yra prarastas, nes jis turi suspaudimo parametrą?

    Ar PNG formatas yra prarastas, nes jis turi suspaudimo parametrą?

    PNG formatas turėtų būti be nuostolio formato, tačiau, išsaugant vaizdą kaip PNG failą, paprašys pasirinkti suspaudimo lygį. Ar tai reiškia, kad PNG formatas iš tikrųjų nėra nuostolingas? Šiandienos „SuperUser“ atsakymai ir atsakymai padeda išsiaiškinti painiavą dėl keistojo skaitytojo.

    Šiandienos „Klausimų ir atsakymų“ sesija mums suteikiama pagal „SuperUser“ - „Stack Exchange“ padalinį, bendruomenės sukurtą „Q&A“ svetainių grupavimą.

    Klausimas

    „SuperUser“ skaitytuvas „pkout“ nori žinoti, ar pasirinktos kompresijos lygis turi įtakos PNG vaizdo kokybei:

    Kaip tai suprantu, PNG failai naudoja nuostolius be suspaudimo. Tačiau, kai naudoju vaizdo redaktorių, pvz., „Gimp“ ir bandau įrašyti vaizdą kaip PNG failą, jis prašo, kad suspaudimo lygis būtų nuo 0 iki 9.

    Jei jis turi suspaudimo parametrą, kuris paveikia suspausto vaizdo vizualinį tikslumą, kaip PNG praranda nuostolius? Ar kas nors man tai paaiškinti? Ar prarandu elgesį galima tik tada, kai nustatau suspaudimo lygį iki 9?

    Ar vaizdo kokybė skiriasi priklausomai nuo pasirinkto suspaudimo lygio?

    Atsakymas

    „SuperUser“ autoriai „LordNeckbeard“ ir „Jjlin“ atsako už mus. Pirma, LordNeckbeard:

    PNG yra suspaustas, bet prarandamas

    Kompresijos lygis yra kompromisas tarp failo dydžio ir kodavimo / dekodavimo greičio. Pernelyg apibendrinti netgi ne vaizdų formatai, pvz., FLAC, turi panašias sąvokas.

    Įvairūs suspaudimo lygiai, tas pats dekoduotas išėjimas

    Nors failų dydžiai skiriasi dėl skirtingų suspaudimo lygių, faktinis dekoduotas išėjimas bus identiškas. Galite palyginti dekoduotų išėjimų MD5 maišus su ffmpeg naudojant MD5 muxer. Tai geriausiai rodoma su kai kuriais pavyzdžiais.

    Sukurti PNG failus

    • Pagal nutylėjimą ffmpeg PNG išėjimui naudos -compression_level 100.
    • Greitas ir aplaistytas testas parodė, kad 100 (didžiausias suspaudimo lygis) užkodavo maždaug tris kartus ilgiau ir penkis kartus ilgiau, nei iššifruoti kaip 0 (mažiausias suspaudimo lygis) šiame pavyzdyje.

    Palyginkite failo dydį

    Dekoduokite PNG failus ir rodyti MD5 Hashes

    Kadangi abi skardos yra tos pačios, galite būti tikri, kad dekoduoti išėjimai (nesuspaustos žaliavos failai) yra lygiai tokie patys.

    Tada atsakymas iš jjlin:

    PNG yra be nuostolių. GIMP šiuo atveju greičiausiai nenaudoja geriausio formuluotės.

    Pagalvokite apie tai kaip suspaudimo kokybė arba suspaudimo lygis. Su mažesniu suspaudimu gausite didesnį failą, tačiau užtrunka mažiau laiko, tuo tarpu su aukštesniu suspaudimu gaunamas mažesnis failas, kuriam reikia daugiau laiko..

    Paprastai jūs gausite mažėjančią grąžą, t. Y. Ne tiek, kiek sumažės, palyginti su laiko padidėjimu, kai užtrunka iki aukščiausio suspaudimo lygio, bet tai priklauso nuo jūsų.


    Ar ką nors papildyti paaiškinimu? Garsas išjungtas komentaruose. Norite perskaityti daugiau atsakymų iš kitų „tech-savvy Stack Exchange“ vartotojų? Čia rasite visą diskusijų temą.