Datacompressie


Inleiding
Datacompressie is een techniek om digitale informatie zo te bewerken
dat het aantal
bits minder wordt, maar wel zo dat de informatie beschikbaar blijft.
Digitale informatie moet hier heel ruim opgevat worden. Het kan gaan
om gedigitaliseerde beelden, gedigitaliseerd geluid, databestanden van
allerlei aard zoals teksten, programma's etc.
Met datacompressie is de omvang van een bestand waarin digitale
informatie is opgeslagen te verkleinen. De twee hieruit voorkomende
voordelen zijn:
- De beschikbare opslagruimte van bijvoorbeeld een harde schijf
wordt beter benut.
- Als digitale informatie naar een andere plek verzonden moet worden, neemt
de transporttijd af naarmate het aantal bits kleiner is.
Datacompressie is vaak mogelijk omdat de methodes om gegevens digitaal
op te slaan meestal meer bits gebruiken dan feitelijk noodzakelijk is.
Zo is het mogelijk een tekst met behulp van ASCII codes op te slaan.
Alle letters krijgen dan meestal elk een byte ter beschikking. De informatie
die een letter bevat is echter meestal veel minder. Compressietechnieken maken
van dit feit gebruik.
Gecomprimeerde bestanden kunnen weer gedecomprimeerd worden om het oorspronkelijke
bestand terug te krijgen. De volgende figuur licht dat toe:
Uit de DOS-wereld zijn bestanden met de ZIP extensie voorbeelden van
gecomprimeerde bestanden. Met PKZIP worden bestanden gecomprimeerd,
met PKUNZIP zijn ze weer te decomprimeren. Onder linux kennen we gzip en
gunzip naast het al wat oudere commando compress als tools waarmee we
bestanden kunnen comprimeren en decomprimeren.
Begrippen en definities
Lossy en Lossless
Als we met compressie en de bijbehorende decompressie bestanden in hun
oorspronkelijke staat terugkrijgen, spreken we van lossless compressie.
Deze wijze van comprimeren wordt toegepast om grote computerprogramma's
op bijvoorbeeld een floppy disk te schrijven. Bij het decomprimeren blijkt
het oorspronkelijke bestand bit voor bit weer hersteld te kunnen worden.
Er bestaan ook compressietechnieken waarbij het oorspronkelijke bestand
niet meer helemaal, maar slechts bij benadering te genereren is bij het
decomprimeren. Bij het comprimeren van digitale beelden wordt deze techniek
vaak toegepast. Het resultaat kan op het oog redelijk goed overeenkomen
met het oorspronkelijke beeld. Bij deze techniek is vaak ook het toegestane
verlies aan kwaliteit van te voren op te geven. Staat men een groot
verlies aan kwaliteit toe, dan blijkt het gecomprimeerde bestand aanzienlijk
kleiner te kunnen worden dan wanneer men met weinig verlies aan beeldinformatie
wil comprimeren. JPEG en MPEG zijn voorbeelden van deze zogeheten
lossy compressie techniek.
Compressie snelheid
Een belangrijk gegeven bij comprimeren en decomprimeren is de snelheid
waarmee zowel de compressie als de decompressie tot stand gebracht kunnen
worden. Bij het afspelen van een gecomprimeerd audiobestand is het prettig
als de decompressie zo snel kan verlopen dat het geluid tegelijk afgespeeld
kan worden. Het bestand hoeft dan niet eerst gedecomprimeerd te worden om
pas daarna afgespeeld te kunnen worden.
Complexe compressiemethoden kunnen een aardige hoeveelheid rekenkracht
van de CPU opslurpen. Voor het decomprimeren van videobestanden bestaan
speciale co-processoren die bijvoorbeeld op een videokaart geintegreerd zijn.
Definities
- Compressie verhouding of compression ratio
Deze waarde geeft aan hoeveel groter de originele file was, dus:
compression-ratio = (grootte originele file) / (grootte gecomprimeerde file)
- Compressie winst of figure of merit
Dit is de inverse van de compression-ratio, dus:
Figure of merit = (grootte gecomprimeerde file) / (grootte originele file)
- Data reductie
De defintie van de data reductie of data reduction is:
Data reduction = 1 - Figure of merit
Technieken
Hufman code
Het principe van deze compressietechniek is relatief eenvoudig.
Gebruik voor veel voorkomende karakters weinig bits per karakter. Naarmate
een karakter minder vaak voorkomt worden er meer bits voor het weergeven van
dit karakter toegepast.
Adaptive compressie
LWZ algoritme
Toepassingen
Data file compressie
JPEG
MPEG
MP3