Wat is een compressie-algoritme?
Computerbestanden kunnen een grote hoeveelheid ruimte op een harde schijf innemen, evenals veel bandbreedte om te verzenden. Om ruimte te besparen, vooral met bestanden die niet vaak worden gebruikt, en bandbreedte voor bestanden die worden verzonden, zijn opslagmethoden ontwikkeld om de gegevens in een kleiner pakket op te slaan door ze op een bepaalde manier te comprimeren. In elk geval wordt een compressie-algoritme - een methode voor het verkleinen van de gegevensgrootte - gebruikt. Er zijn verschillende populaire categorieën en soorten compressie-algoritmen, die elk op een andere manier werken, en sommige hebben resultaten die op belangrijke manieren verschillen. Met behulp van verschillende compressiealgoritmen is het over het algemeen mogelijk om een tekstbestand te verkleinen tot minder dan de helft van de oorspronkelijke grootte; voor grafische bestanden variëren de resultaten sterk. Het bestand dat het resultaat is van compressie, kan een ander formaat hebben of een archiefbestand, dat vaak wordt gebruikt voor opslag, verzending en distributie.
Een manier om compressiealgoritmen te categoriseren, is door woordenboeken of statistische methoden te gebruiken om gegevens te comprimeren. De woordenboekmethode is gericht op herhaalbare zinnen en wordt gebruikt in GIF-afbeeldingen en in JAR- en ZIP-archieven. De statistische methode is afhankelijk van de gebruiksfrequentie om een conversie te maken, wat in twee passen wordt gedaan. Een voorbeeld is Modified Huffman (mh), gebruikt in sommige faxmachines.
Een tweede manier om compressie-algoritmen te categoriseren, en die niet-professionele programmeurs het vaakst tegenkomen, is door ze verliesloos of met verlies te maken. Een verliesloos datacompressie-algoritme is een algoritme dat de gegevens zodanig comprimeert dat wanneer het wordt gedecomprimeerd, het exact identiek is aan het oorspronkelijke bestand. Een voorbeeld van een verliesloos datacompressie-algoritme is lzw (Lempel-Ziv-Welch-algoritme). Ontwikkeld in 1977 door Lempel en Ziv en verbeterd in 1984 door Welch, wordt het gebruikt in bestanden zoals GIF, TIF en PDF, evenals bepaalde modems.
Een algoritme voor gegevensverlies met verlies heeft de capaciteit om gegevens te verkleinen tot een kleiner formaat dan compressie zonder verlies, maar ten koste van sommige van de oorspronkelijke gegevens. Met andere woorden, het herstel na verlies van datacompressie geeft geen identieke kopie van het originele bestand. Het compressie-algoritme is echter ontworpen om de verliezen te beperken zodat ze niet zichtbaar zijn voor het oor of oog. Lossy-compressie wordt gebruikt in bestandsindelingen zoals AAC, JPEG, MPEG en MP3.