PNG-formatet ska vara ett förlustfritt format, men när du sparar en bild som en PNG-fil blir du ombedd att välj en komprimeringsnivå. Betyder det att PNG-formatet egentligen inte är förlustfritt trots allt? Dagens SuperUser Q & A-tjänst hjälper till med att rensa förvirringen för en nyfiken läsare.
Dagens Frågor och svar sessions kommer till vår tjänst med SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
SuperUser-läsaren pkout vill veta om kvaliteten på en PNG-bild påverkas av den valda kompressionsnivån:
Som jag förstår, använder PNG-filer förlustfri komprimering. Men när jag använder en bildredigerare som Gimp och försöker spara en bild som en PNG-fil, frågar den om en komprimeringsnivå som sträcker sig mellan 0 och 9.
Om den har en komprimeringsparameter som påverkar den visuella precisionen hos Den komprimerade bilden, hur är PNG förlustfri då? Kan någon förklara det här för mig? Får jag bara förlustfritt beteende när jag ställer komprimeringsnivån till 9?
Finns det en skillnad i bildens kvalitet beroende på vilken komprimeringsnivå du väljer?
SuperUser-bidragsgivare LordNeckbeard och jjlin har svaret för oss. Först upp, LordNeckbeard:
PNG är komprimerad, men Lossless
Kompressionsnivån är ett kompromiss mellan filstorlek och kodning / avkodningshastighet. För att överdriva allmänt, har även icke-bildformat som FLAC liknande begrepp.
Olika komprimeringsnivåer, samma avkodad utgång
Även om filstorlekarna är olika beroende på de olika komprimeringsnivåerna kommer den faktiska avkodade utsignalen att vara identiska. Du kan jämföra MD5-hackarna i de avkodade utgångarna med ffmpeg med MD5-muxern. Detta visar bäst med några exempel.
Skapa PNG-filer
- Som standard använder ffmpeg -compression_level 100 för PNG-utdata.
- Ett snabbt, slarvtest visade att 100 (den högsta komprimeringsnivån) tog ungefär tre gånger längre att koda och fem gånger längre att avkoda än 0 (den lägsta komprimeringsnivån) i det här exemplet.
Jämför filstorlek
Avkod PNG-filerna och visa MD5 Hashes
Eftersom båda hasorna är designade kan vara säker på att de avkodade utsignalerna (de okomprimerade råfilerna) är exakt samma.
Följd av svaret från jjlin:
PNG är förlustfri. GIMP använder sannolikt inte det bästa valet av formulering i det här fallet.
Tänk på det som komprimeringskvalitet eller komprimeringsnivå . Med lägre komprimering får du en större fil, men det tar mindre tid att producera, men med högre komprimering får du en mindre fil som tar längre tid att producera.
Vanligtvis får du avtagande avkastning, dvs inte lika mycket minskning av storleken jämfört med den ökade tiden det tar när man går upp till högsta kompressionsnivåer, men det är upp till dig.
Har något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in den fullständiga diskussionsgängan här.
Varför är min nedladdningshastighet långsammare än internet jag betalar för?
Din ISP annonserar en anslutning på 40 megabit per sekund, men det ser inte ut som nedladdningshastigheten du ser när du tar en stor fil. Vad är grejen? Har du inte all den bandbredd du betalar för? Kära How-To-Geek, Paketavtalet jag har via min lokala ISP är för en 40Mb-anslutning (det är den ordalydelse de använder).
Fix Microsoft Word har slutat fungera
Jag installerade nyligen Microsoft Office på en Windows-maskin och allt fungerade bra i några dagar, men helt plötsligt när jag öppnar Word får jag följande felmeddelande: Microsoft Word har slutat fungera Det ger mig möjligheten att kontrollera online för en lösning eller att stänga programmet.Efter dett