Vad är en komprimeringsalgoritm?
Datorfiler kan ta upp en stor mängd utrymme på en hårddisk samt mycket bandbredd att överföra. För att spara utrymme, särskilt med filer som inte ofta nås, och bandbredd för filer som överförs, har lagringsmetoder utvecklats för att spara data i ett mindre paket genom att komprimera det på något sätt. I båda fallen används en komprimeringsalgoritm - en metod för att minska datastorleken. Det finns flera populära kategorier och typer av komprimeringsalgoritmer, som var och en fungerar på ett annat sätt, och några av dem har resultat som skiljer sig åt på viktiga sätt. Med hjälp av olika komprimeringsalgoritmer är det generellt möjligt att reducera en textfil till mindre än hälften av sin ursprungliga storlek; för grafikfiler varierar resultaten mycket. Filen som är resultatet av komprimering kan antingen ha ett annat format eller en arkivfil, som ofta används för lagring, överföring och distribution.
Ett sätt att kategorisera komprimeringsalgoritmer är om de använder ordlista eller statistiska metoder för att komprimera data. Ordboksmetoden fokuserar på repeterbara fraser och används i GIF-bilder och i JAR- och ZIP-arkiv. Den statistiska metoden förlitar sig på användningsfrekvens för att göra en konvertering, vilket görs i två pass. Ett exempel är Modified Huffman (mh), som används i vissa faxmaskiner.
Ett andra sätt att kategorisera komprimeringsalgoritmer och det som icke-professionella programmerare oftast stöter på är huruvida de är förlustlösa eller förlustade. En förlustfri datakomprimeringsalgoritm är en som komprimerar data på ett sådant sätt att när de dekomprimeras är den exakt identisk med originalfilen. Ett exempel på en förlustfri datakomprimeringsalgoritm är lzw (Lempel-Ziv-Welch-algoritm). Utvecklades 1977 av Lempel och Ziv och förbättrades 1984 av Welch och används i filer som GIF, TIF och PDF samt vissa modem.
En förlustad datakomprimeringsalgoritm har kapacitet att reducera data till en mindre storlek än förlustfri komprimering, men till en kostnad av vissa av de ursprungliga uppgifterna. Med andra ord ger återställningen efter förlorad datakomprimering inte en identisk kopia av originalfilen. Komprimeringsalgoritmen är dock utformad för att begränsa förlusterna så att de inte är synliga för örat eller ögat. Förlorad komprimering används i filformat som AAC, JPEG, MPEG och MP3.