30Aug

Je formát PNG Lossless, pretože má parameter kompresie?

Ako-je-the-png formáte, bezstratový, pretože-it-má-a-kompresie-parametra-00

Formát PNG má byť bezstratový formát, ale keď uložíte obrázok ako súbor PNG, zobrazí sa výzva na výber úrovne kompresie. Znamená to, že formát PNG v skutočnosti nie je bez straty? Dnešný príspevok "SuperUser Q & A" pomáha vyčistiť zmätok pre zvedavého čitateľa.

dnešná otázka &Odpoveď na zasadnutie nám príde s láskavým dovolením SuperUser - subdivíziu Stack Exchange, komunitne riadeného zoskupenia webových stránok Q & A.

Otázka

SuperUser čítačka pkout chce vedieť, či je kvalita obrazu PNG ovplyvnená vybranou úrovňou kompresie:

Ako som to pochopil, súbory PNG používajú bezstratovú kompresiu. Keď však používam editor obrázkov, napríklad Gimp, a snažím sa uložiť obrázok ako súbor PNG, požiada o úroveň kompresie v rozmedzí od 0 do 9.

Ak má parameter kompresie, ktorý ovplyvňuje vizuálnu presnosť komprimovaného súboruobraz, ako je PNG bezstratová potom? Môže mi to niekto vysvetliť?Mám bezstratové správanie iba keď nastavím úroveň kompresie na 9?

Existuje rozdiel v kvalite obrazu v závislosti od zvolenej úrovne kompresie?

Odpovedia na odpovede

SuperUser LordNeckbeard a jjlin majú odpoveď pre nás. Prvýkrát, LordNeckbeard: PNG

je komprimovaný, ale bez straty

Úroveň kompresie je kompromis medzi veľkosťou súboru a rýchlosťou kódovania / dekódovania. Ak chcete príliš zovšeobecniť, aj iné formáty ako FLAC majú podobné pojmy.

Rôzne úrovne kompresie, rovnaký dekódovaný výstup

Hoci sú veľkosti súborov rôzne kvôli rôznym úrovniam kompresie, skutočný dekódovaný výstup bude identický.Môžete porovnať MD5 hash dekódovaných výstupov s ffmpeg pomocou MD5 muxer. Najlepšie je to s niektorými príkladmi.

Vytvoriť súbory PNG

Ako-je-the-png formáte, bezstratový, pretože-it-má-a-kompresie-parametra-01

  • V predvolenom nastavení ffmpeg použije hodnotu -compression_level 100 pre výstup PNG.
  • Rýchly, nepríjemný test ukázal, že 100( najvyššia úroveň kompresie) trvalo približne trikrát dlhšie na kódovanie a päťkrát dlhšie na dekódovanie ako 0( najnižšia úroveň kompresie) v tomto príklade.

Porovnajte veľkosť súboru

Ako-je-the-png formáte, bezstratový, pretože-it-má-a-kompresie-parametra-02

Dekódujte súbory PNG a ukážky MD5 Hashes

Ako-je-the-png formáte, bezstratový, pretože-it-má-a-kompresie-parametra-03

Vzhľadom na to, že oba hash sú rovnaké, môžete si byť istí, že dekódované výstupy( nekomprimované nespracované súbory) sú úplne rovnaké.

Nasledujúca odpoveď od jjlin: PNG

je bezstratová.GIMP s najväčšou pravdepodobnosťou v tomto prípade nepoužíva najlepšiu voľbu znenia.

Považujte to za kvalitu kompresie alebo úroveň kompresie .Pri nižšej kompresii získate väčší súbor, ale trvá to menej času na výrobu, zatiaľ čo pri vyššej kompresii máte menší súbor, ktorý trvá dlhšie.

Zvyčajne dochádza k znižovaniu výnosov, t. J. Nie je toľko zníženie veľkosti v porovnaní s nárastom času, ktorý trvá pri dosiahnutí najvyššej úrovne kompresie, ale je na vás.

Musíte niečo pridať k vysvetleniu? Znížte komentáre. Chcete si prečítať viac odpovedí od iných používateľov technológie Stack Exchange? Pozrite sa na celý diskusný príspevok tu.