Förlustfria kodningstekniker minskar storleken på digitala filer.
Förlustfri kodning, eller förlustfri komprimering, hänvisar till processen att koda data mer effektivt så att den upptar färre bitar eller bytes men på ett sådant sätt att originaldata kan rekonstrueras bit för bit när data är dekomprimerad. Fördelen med förlustfria kodningstekniker är att de producerar en exakt dubblett av originaldata men de har också vissa nackdelar jämfört med förlustfria kodningstekniker.
Kompressionsförhållande
Förlustfria kodningstekniker kan inte uppnå höga nivåer av komprimering. Få förlustfria kodningstekniker kan uppnå ett komprimeringsförhållande som är högre än 8:1, vilket är ogynnsamt jämfört med så kallade förlustiga kodningstekniker. Förlustiga kodningstekniker - som uppnår komprimering genom att kassera en del av originaldata - kan uppnå komprimeringsförhållanden på 10:1 för ljud och 300:1 för video med liten eller ingen märkbar förlust av kvalitet. Enligt New Biggin Photography Group en 1 943 gånger 1 702 pixlar 24-bitars RGB-färgbild med en originalstorlek på 9,9 megabyte kan endast reduceras till 6,5 megabyte med det förlustfria PNG-formatet men kan reduceras till bara 1 megabyte med förlustfri JPEG formatera.
Dagens video
Överföringstid
Varje applikation som innebär lagring eller distribution av digitala bilder, eller båda, förutsätter att dessa operationer kan genomföras inom rimlig tid. Den tid som krävs för att överföra en digital bild beror på storleken på den komprimerade bilden och på de komprimeringsförhållanden som kan uppnås med förlustfria kodningstekniker är mycket lägre än förlustfria kodningstekniker, förlustfria kodningstekniker är olämpliga för dessa applikationer.
Huffman-kodning
Många förlustfria kodningstekniker, inklusive PNG, använder en form av kodning som kallas Huffman-kodning. I Huffman-kodning ju oftare en symbol förekommer i originaldata, desto kortare är den binära strängen som används för att representera den i den komprimerade datan. Huffman-kodning kräver dock två pass, en för att bygga en statistisk modell av data och en andra för att koda den, så det är en relativt långsam process. Detta innebär i sin tur att förlustfria kodningstekniker som använder Huffman-kodning är särskilt långsammare än andra tekniker när man läser eller skriver filer.
Avkodning
En annan nackdel med Huffman-kodningen är att de binära strängarna eller koderna i den kodade datan alla är olika långa. Detta gör det svårt för avkodningsprogramvara att avgöra när den har nått den sista databiten och om den kodade datan är skadad -- med andra ord den innehåller falska bitar eller saknar bitar -- den kommer att avkodas felaktigt och utdata kommer att vara dumheter.