30Aug

Ali je PNG Format Lossless, ker ima Parameter kompresije?

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

Format PNG naj bi bil format brez izgube, vendar ko shranite sliko kot datoteko PNG, morate izbrati stopnjo stiskanja. Ali to pomeni, da format PNG po vsem sploh ni izgubljen? Današnji SuperUser Q & Objava pomaga razčistiti zmedo za radovednega bralca.

Današnje vprašanje &S sejo odgovora prihaja uporaba SuperUserja, ki je razdeljena na Stack Exchange, skupinsko spletno stran Q & A.

Vprašalnik

bralec SuperUser pkout želi vedeti, ali na kakovost slike PNG vpliva izbrana stopnja stiskanja:

Kot sem razumel, PNG datoteke uporabljajo kompresijo brez izgub. Vendar, ko uporabljam urejevalnik slik, kot je Gimp, in poskusite shraniti sliko kot datoteko PNG, zahteva stopnjo stiskanja v razponu od 0 do 9.

Če ima parameter stiskanja, ki vpliva na vidno natančnost stisnjenegaslika, kako je PNG izgubil? Ali mi lahko kdo to razloži? Ali imam obnašanje brez izgub le, ko nastavim stopnjo stiskanja na 9?

Ali obstaja razlika v kakovosti slike glede na stopnjo stiskanja, ki jo izberete?

Odgovori odgovornih

SuperUser LordNeckbeard in jjlin imajo odgovor za nas. Najprej gor, LordNeckbeard:

PNG je stisnjen, vendar Lossless

Nivo stiskanja je kompromis med velikostjo datoteke in številom kodiranja / dekodiranja. Za preveč posplošeno podobne koncepte imajo tudi ne-slikovne oblike, kot je FLAC.

Različne stopnje kompresije, enako dekodirani izhod

Čeprav so velikosti datotek različne zaradi različnih ravni stiskanja, bo dejanski dekodirani izhod enak. Primerjate lahko hišice MD5 dekodiranih izhodov z uporabo ffmpeg z MD5 mikserjem. To je najbolje prikazano z nekaj primeri.

Ustvarjanje datotek PNG

how-is-the-png-format-lossless-od-it-has-a-compression-parameter-01

  • Privzeto bo ffmpeg uporabil -compression_level 100 za izhod PNG.
  • Hitro, neurejeno testiranje je pokazalo, da je 100( najvišja stopnja stiskanja) približno trikrat daljša za kodiranje in petkrat daljša za dekodiranje kot 0( najnižja stopnja stiskanja) v tem primeru.

Primerjaj velikost datoteke

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

Decodiranje datotek PNG in prikaz hiše MD5

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

Ker sta obe hiši enaki, se lahko prepričate, da so dekodirani izidi( nestisnjene surove datoteke) popolnoma enaki.

Sledi odgovor jjlin:

PNG je brez izgub. GIMP v tem primeru najverjetneje ne uporablja najboljše izbire besedila.

Razmislite o tem kot kakovost stiskanja ali stopnja stiskanja .Z nižjim stiskanjem dobite večjo datoteko, vendar potrebujete manj časa za proizvodnjo, medtem ko z večjim stiskanjem dobite manjšo datoteko, ki traja dlje.

Običajno dobite manjše donose, to je ne toliko zmanjšanje v primerjavi s povečanjem časa, ki ga potrebujete, če greste do najvišjih stopenj stiskanja, vendar je odvisno od vas.

Ali želite dodati nekaj pojasnila? Zvok v komentarjih.Želite prebrati več odgovorov od drugih uporabniških članov stack Exchange? Oglejte si celotno temo za razpravo tukaj.