sv.phhsnews.com


sv.phhsnews.com / PNG-formatet är förlustlöst eftersom det har en komprimeringsparameter?

PNG-formatet är förlustlöst eftersom det har en komprimeringsparameter?


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.

Frågan

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?

Svaret

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.


Vad är 802.11ac och behöver jag?

Vad är 802.11ac och behöver jag?

Om du har varit nere på din lokala bästa köp på senare tid har du kanske märkt att en helt ny klass av trådlösa routrar är på marknaden på premium-änden av produktskalan, emblazonad med en "802.11ac" -ikett i starka bokstäver på framsidan av lådan. Men vad betyder 802.11ac och är det verkligen nödvändigt för dig att få ut det mesta ut ur din dagliga WiFi-surfupplevelse?

(how-to)

Så här inaktiverar du

Så här inaktiverar du "Lyssna" för ljudmeddelanden i iOS

Med din iPhones höjning till lyssning kan du spela in eller lyssna på ett ljudmeddelande bara genom att höja telefonen i ditt ansikte. Det kan vara praktiskt, men det kan också vara ganska irriterande - speciellt om du inte använder ljudmeddelanden och du är sjuk av att du oavsiktligt spelar in dem. Så här stänger du av det.

(how-to)