30Aug

Vai PNG formāts nav zaudēts, jo tam ir kompresijas parametrs?

how-is-png-format-lossless-since-it-has-a-kompresijas parametrs-00

Paredzēts, ka PNG formāts ir bezzudumu formāts, bet, saglabājot attēlu kā PNG failu, tiek prasīts izvēlēties saspiešanas līmeni. Vai tas nozīmē, ka PNG formāts patiesībā nav zaudējumu zudums?Šodienas SuperUser Q & amats palīdz novērst neskaidrību par ziņkārīgo lasītāju.

Šodienas jautājums &Atbildes sesija mums priecājas par SuperUser - Stack Exchange, kas ir kopienas un Q & A tīmekļa vietņu grupa.

Jautājums

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

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

Ja tam ir saspiešanas parametrs, kas ietekmē saspiestā attēla precizitātiattēls, kā tad PNG bezzudumu? Vai kāds, lūdzu, paskaidrojiet to man? Vai es varu uzzināt par zaudējumiem tikai tad, kad es iestatīju saspiešanas līmeni līdz 9?

Vai ir atšķirība attēla kvalitātē atkarībā no kompresijas pakāpes, kuru izvēlaties?

Atbilde

SuperUser atbalstītājiem LordNeckbeard un jjlin ir atbilde mums. Pirmais uz augšu, LordNeckbeard:

PNG ir saspiests, bet bezatteices

Saspiešanas līmenis ir kompromiss starp faila lielumu un kodēšanas / dekodēšanas ātrumu. Lai pārāk vispārinātu, pat ar tādiem ne-attēlu formātiem kā FLAC ir līdzīgi jēdzieni.

Dažādi saspiešanas līmeņi, tā pati dekodētā izeja

Lai arī faila izmēri atšķiras dažādu saspiešanas līmeņu dēļ, faktiskā dekodētā izeja būs identiska. Varat salīdzināt dekodēto izvades MD5 hashes ar ffmpeg, izmantojot MD5 muxer. To vislabāk parāda ar dažiem piemēriem.

Izveidot PNG failus

how-is-the-png-format-lossless-since-it-has-a-compression-parametre-01

  • Pēc noklusējuma ffmpeg izmantos -compression_level 100 PNG izvadīšanai.
  • Ātrs, nedrošs tests parādīja, ka 100( visaugstākais saspiešanas līmenis) šajā kodētā kodēšanas procesā bija aptuveni trīs reizes garāks, un dekodēt par piecām reizēm ilgāk nekā 0( viszemākais saspiešanas līmenis).

Salīdzināt faila lielumu

how-is-png-format-lossless-since-it-has-a-compression-parameter-02

Atšifrēt PNG failus un parādīt MD5 shēmas

how-is-png-format-lossless-since-it-has-a-compression-parameter-03

Tā kā abas hashes ir vienādas, varat būt pārliecināti, ka dekodēto izvadi( nesaspiesti neapstrādātie faili) ir pilnīgi vienādi.

Sekojot atbildei no jjlin:

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

Padomājiet par to kā saspiešanas vai kompresijas pakāpes kvalitāti. Ar zemāku kompresiju jūs saņemat lielāku failu, taču tas prasa mazāk laika, lai ražotu, bet ar augstāku kompresiju jūs saņemat mazāku failu, kas aizņem vairāk laika.

Parasti jūs saņemat samazināsies peļņu, t.i., ne tik daudz samazināsies, cik ilgāks laiks, kad tiek sasniegts visaugstākais saspiešanas līmenis, bet tas ir atkarīgs no jums.

Vai kaut ko pievienot paskaidrojumam? Skatieties komentāros. Vēlaties lasīt citas atbildes no citiem tehnoloģiju savvy Stack Exchange lietotājiem?Šeit skatiet pilnu diskusiju pavedienu.