A PNG formátum veszteségmentes, mivel kompressziós paramétere van?
A PNG-formátum veszteségmentes formátumú, de ha egy képet PNG-fájlként ment, akkor kéri, hogy válasszon egy tömörítési szintet. Ez azt jelenti, hogy a PNG formátum valójában nem veszteségmentes? A mai SuperUser Q&A poszt segít feloldani a kíváncsi olvasó zavart.
A mai Kérdések és válaszok munkamenet a Jóvagyon - a Stack Exchange alosztályának, a közösség által vezérelt Q&A webhelyek csoportjának köszönhetően..
A kérdés
A SuperUser olvasó pkout tudni akarja, hogy a PNG-kép minőségét befolyásolja-e a kiválasztott tömörítési szint:
Ahogy értem, a PNG fájlok veszteségmentes tömörítést használnak. Ha azonban olyan képszerkesztőt használok, mint a Gimp, és megpróbálok egy képet PNG-fájlként menteni, akkor 0 és 9 közötti tömörítési szintet kér..
Ha van egy tömörítési paramétere, amely befolyásolja a tömörített kép vizuális pontosságát, akkor hogyan veszít a PNG? Tud valaki kérem magyarázza el nekem? Csak akkor veszek el veszteségmentes viselkedést, ha a tömörítési szintet 9-re állítottam?
Van-e különbség a kép minőségében a választott tömörítési szinttől függően?
A válasz
A SuperUser közreműködők LordNeckbeard és jjlin válaszolnak számunkra. Először fel, LordNeckbeard:
A PNG tömörített, de veszteségmentes
A tömörítési szint kompromisszum a fájlméret és a kódolás / dekódolás sebessége között. Túlságosan általánosítani, még a nem képformátumok, mint például a FLAC, hasonló fogalmakkal rendelkeznek.
Különböző tömörítési szintek, ugyanaz a dekódolt kimenet
Bár a fájlméretek a különböző tömörítési szintek miatt eltérőek, a tényleges dekódolt kimenet azonos lesz. Összehasonlíthatja a dekódolt kimenetek MD5 hashjait az ffmpeg segítségével az MD5 muxer segítségével. Ezt a legjobb példákkal mutatjuk be.
PNG-fájlok létrehozása
- Alapértelmezés szerint az ffmpeg a -compression_level 100-at fogja használni a PNG kimenethez.
- Egy gyors, hanyag teszt azt mutatta, hogy a 100 (a legmagasabb tömörítési szint) körülbelül háromszor hosszabb volt a kódoláshoz, és öt alkalommal hosszabb, mint a 0-nál (a legalacsonyabb tömörítési szint)..
A fájlméret összehasonlítása
Dekódolja a PNG-fájlokat és az MD5 Hashes-t
Mivel mindkét hash megegyezik, biztos lehet benne, hogy a dekódolt kimenetek (a tömörítetlen nyers fájlok) pontosan azonosak..
A jjlin válaszát követi:
A PNG veszteségmentes. A GIMP ebben az esetben valószínűleg nem használja a legjobb megfogalmazást.
Gondolj rá a tömörítés minősége vagy a tömörítés szintje. Alacsonyabb tömörítéssel nagyobb fájl áll rendelkezésre, de kevesebb időt vesz igénybe a gyártás, míg a nagyobb tömörítésnél kisebb fájl áll rendelkezésre, ami hosszabb időt vesz igénybe.
Jellemzően csökkenő hozamot kap, vagyis nem annyira csökken a méret, mint a legmagasabb tömörítési szintek elérésekor eltelt idő növekedése, de rajtad múlik.
Van valami, amit hozzá kell adni a magyarázathoz? Kikapcsolja a megjegyzéseket. Szeretne további válaszokat olvasni más tech-savvy Stack Exchange felhasználóktól? Nézze meg a teljes beszélgetés szálát itt.