Mājas lapa » » Vai PNG formāts ir zaudēts, jo tam ir saspiešanas parametrs?

    Vai PNG formāts ir zaudēts, jo tam ir saspiešanas parametrs?

    PNG formātam ir jābūt bezzudumu formātam, bet, saglabājot attēlu kā PNG failu, jums tiek prasīts izvēlēties saspiešanas līmeni. Vai tas nozīmē, ka PNG formāts faktiski nav bez zaudējumiem? Šodienas SuperUser Q&A ziņa palīdz izskaidrot pārpratumus par ziņkārīgu lasītāju.

    Šodienas jautājumu un atbilžu sesija mums dod pieklājību no SuperUser-Stack Exchange apakšnodaļas, kas ir kopienas orientēta Q & A tīmekļa vietņu grupa.

    Jautājums

    SuperUser lasītājs pkout vēlas uzzināt, vai PNG attēla kvalitāti ietekmē izvēlētais kompresijas līmenis:

    Kā es to saprotu, PNG faili izmanto bezzudumu saspiešanu. Tomēr, ja izmantoju attēlu redaktoru, piemēram, Gimp, un mēģinu saglabāt attēlu kā PNG failu, tā pieprasa saspiešanas līmeni no 0 līdz 9.

    Ja tai ir saspiešanas parametrs, kas ietekmē saspiestā attēla vizuālo precizitāti, kā tad PNG zaudē zaudējumus? Vai kāds man var izskaidrot? Vai es varu bez zaudējumiem izturēties tikai tad, kad iestatīju kompresijas līmeni uz 9?

    Vai attēla kvalitāte atšķiras atkarībā no izvēlētā kompresijas līmeņa?

    Atbilde

    SuperUser ieguldītājiem LordNeckbeard un jjlin ir atbilde mums. Vispirms, LordNeckbeard:

    PNG ir saspiests, bet bez zudumiem

    Kompresijas līmenis ir kompromisa starp faila lielumu un kodēšanas / dekodēšanas ātrumu. Pārmērīgi vispārināt, pat tādiem formātiem kā bez attēla, piemēram, FLAC, ir līdzīgas koncepcijas.

    Dažādi saspiešanas līmeņi, tas pats dekodēts izeja

    Lai gan dažādu kompresijas līmeņu dēļ failu izmēri atšķiras, faktiskā dekodētā izeja būs identiska. Jūs varat salīdzināt dekodēto izeju MD5 hashes ar ffmpeg, izmantojot MD5 muxer. To vislabāk var redzēt ar dažiem piemēriem.

    Izveidot PNG failus

    • Pēc noklusējuma ffmpeg izmantos -compression_level 100 PNG izvadei.
    • Ātra, apgrūtināta pārbaude parādīja, ka 100 (augstākais saspiešanas līmenis) šifrēšanai aizņēma aptuveni trīs reizes ilgāku laiku un piecas reizes ilgāk dekodēt nekā 0 (zemākais kompresijas līmenis) šajā piemērā.

    Salīdziniet faila lielumu

    Dekodējiet PNG failus un Rādīt MD5 Hashes

    Tā kā abas skalas ir vienādas, jūs varat būt pārliecināti, ka dekodētie izejas (nesaspiesti neapstrādātie faili) ir tieši tādi paši.

    Seko atbilde no jjlin:

    PNG ir bezzudumu. GIMP, visticamāk, šajā gadījumā neizmanto labāko formulējumu.

    Domājiet par to kā kompresijas kvalitāte vai saspiešanas līmenis. Ar zemāku saspiešanu jūs saņemat lielāku failu, bet tas rada mazāk laika, lai iegūtu, bet ar augstāku saspiešanu jūs saņemat mazāku failu, kas nepieciešams ilgāk.

    Parasti jūs saņemat samazinošu atdevi, t.i., ne tik daudz samazinās, salīdzinot ar laika pieaugumu, kas nepieciešams, lai sasniegtu augstāko saspiešanas līmeni, bet tas ir atkarīgs no jums.


    Vai kaut kas jāpievieno paskaidrojumam? Skaņas izslēgšana komentāros. Vai vēlaties lasīt vairāk atbildes no citiem tehnoloģiju gudriem Stack Exchange lietotājiem? Apskatiet pilnu diskusiju pavedienu šeit.