Compressie
Je hebt in het hoofdstuk over de bitmaps gezien dat een foto van je smartphone als snel best veel ruimte inneemt als je het opslaat als een bitmap bestand. Om bestanden toch kleiner te kunnen opslaane wordt gebruik gemaakt van wat heeft compressie (kleiner maken). We leggen eerst twee verschillende soorten compressie uit: Lossless (verliesloos) en Lossy (met verlies).
Lossless compressie
Je kunt een bestand kleiner maken door bijvoorbeeld dubbele gegevens maar 1 keer op te slaan. Stel dat je bijvoorbeeld de volgende tekst hebt:
AAAAAAAAAAAAAAAABBBBBBBBBB%%%%%%%%%%%%%DDDDDDDDDDD
Als je ASCII gebruikt weet je dat je voor ieder teken 1 byte nodig hebt. Dus in totaal zijn dit dan 50 tekens dus 50 bytes. Maar heel veel tekens zijn dubbel dus we kunnen het ook korter opschrijven:
A16 B10 %13 D11
We kunnen dan precies de letters weer terug halen die we eerst hadden. Als je voor een getal een byte gebruikt heb je nu nog maar 8 bytes nodig. Vier voor de vier tekens en vier voor de vier getallen.
Dit is een voorbeeld van lossless compressie (verliesloos kleiner maken). We hebben de informatie in minder bytes opgeslagen, maar we kunnen precies de originele informatie weer terughalen.
Lossy compressie
Het kan heel goed zijn dat er niet zoveel herhaling zit in je bestand en dat je het toch kleiner wil opslaan. Je kunt dan bijvoorbeeld het volgende doen. We hebben de volgende regel:
AA#AAA#^AAAAAABB&BBNBBBBBBBBCCCC@CCC@CCC4CC
Kies voor iedere 15 tekens het teken dat het meeste voor komt:
A15 B15 C 15
Als we dat dan weer uitschrijven krijgen we:
AAAAAAAAAAAAAAABBBBBBBBBBBBBBBCCCCCCCCCCCCCCC
Dat lijkt wel op de eerste regel maar er is wel wat verloren gegaan. Dit is een voorbeeld van lossy compressie; er zijn gegevens verloren bij het kleiner maken.
Bij een tekstbestand wil je dat natuurlijk niet maar bij bijvoorbeeld muziek of foto's blijkt het niet zoveel uit te maken als we op deze manier kleiner opslaan. Je ogen en oren kunnen het verschil niet of nauwelijks zien of horen.
Last updated
Was this helpful?