Nooit dezelfde smaak meer terug

Hoge kwaliteit, snel versturen en efficiënt opslaan van bestanden. Digitale revolutie zonder datacompressie is onmogelijk.

``DATACOMPRESSIE IS ALS vriesdrogen: hoewel je alleen het water verwijdert, krijg je toch nooit meer dezelfde smaak terug.'' Deze wat cynische opmerking mag dan waar zijn, maar de realiteit is dat de digitale revolutie zonder datacompressie onmogelijk is.

Hoe hoger de kwaliteit van digitaal beeld en geluid, des te meer opslagruimte er voor nodig is en hoe sneller de bits verstuurd moeten worden voor die ene seconde geluid of muziek. Zo vraagt één minuut van cd-kwaliteit al ongeveer tien megabyte schijfruimte. Het was daarom eind jaren tachtig al duidelijk dat er methoden ontwikkeld dienden te worden om data efficiënter weg te schrijven en te versturen. Niet alle bestanden stellen wat dat betreft dezelfde eisen. Een (de)compressieprogramma moet de oorspronkelijke inhoud van een computerprogramma of een tekstdocument exact kunnen reproduceren. Er mag geen bitje verkeerd komen te staan, omdat anders informatie verloren zou gaan. Dat geldt in het algemeen niet voor muziek of een afbeelding. Zolang de reconstructie van het gecomprimeerde bestand maar zo goed mogelijk op het origineel lijkt, is het voldoende. Er zijn immers grenzen aan de menselijke waarneming: sommige nuances of details zien of horen we toch niet, dus het heeft eigenlijk geen zin die ook op te slaan.

Er zijn talloze manieren om data zonder verlies te comprimeren en weer exact te reconstrueren.

Een van de eenvoudigste staat bekend als run length encoding. Deze techniek maakt gebruik van het feit dat in elke stroom data – opgebouwd uit enen en nullen – veel herhaling zit. Wie wil aangeven dat er een rij volgt van vijftig enen, kan ze allemaal netjes weergeven, maar kan ook volstaan met een code voor het betreffende aantal, gevolgd door de code voor `aantal enen'. Dat is veel efficiënter.

Een andere techniek, Huffman-codering, kijkt eerst naar de hele stroom bytes en bepaalt dan welke symbolen vaker voorkomen dan andere. Die krijgen dan in de gecomprimeerde vorm een zo kort mogelijke code, net als het geval is bij de morsecode, waar de E door een enkele punt wordt weergegeven. Daardoor kan een bestand efficiënter worden `gecodeerd'.

Bij de Lempel-Ziv-techniek is het niet nodig om van tevoren het hele bestand door te lopen omdat al tijdens het coderen een soort vertaalwoordenboek van zich herhalende patronen wordt aangemaakt. Daardoor is dit algoritme ook veel sneller. Exacte compressietechnieken werken echter niet altijd. Er kan wiskundig worden aangetoond dat er voor elk algoritme ten minste één bestandsformaat is dat na compressie niet kleiner wordt, maar groter: laat het bekende ZIP-algoritme nog maar eens los op een reeds gezipt bestand.

Veel van de bekende beeld- en geluidsformaten als BMP (bitmap) en GIF maken ook voor een deel gebruik van bovengenoemde `exacte' compressiealgoritmes. Daarnaast worden er andere, 'slordiger' vormen toegepast. Dat gebeurt onder meer aan de hand van wiskundige technieken die in het begin van de negentiende eeuw werden ontwikkeld door de Fransman Joseph Fourier. Hij toonde aan dat elke willekeurige curve opgebouwd kon worden door een groot aantal golven bij elkaar op te tellen. Om de oorspronkelijke functie te beschrijven hoef je alleen een lijst te geven van de sterkte en de frequentie van de benodigde golven (het Fourier-spectrum). Bij het oversturen van telefoongesprekken worden met behulp van dit Fourier-spectrum de voor ons gehoor te hoge en te lage frequenties uitgefilterd. De rest wordt overgestuurd om bij de ontvanger weer te worden omgezet in een verstaanbaar signaal. Dat spaart veel tijd en ruimte op de kabel, waardoor er meer gesprekken tegelijk gevoerd kunnen worden. Bij een JPEG-compressie wordt een Fourier-achtige techniek toegepast op blokken van 8x8 beeldpunten. Dat wordt zichtbaar wanneer de compressie te ver wordt opgevoerd, iets wat bij JPEG instelbaar is. Een modernere techniek waarbij dat blokprobleem zich nauwelijks meer voordoet maakt gebruik van wavelets: dat is een serie filters waarmee een beeld in opeenvolgende stappen van details wordt ontdaan. Zo wordt een steeds simpeler wordende reeks plaatjes verkregen, waar de oorspronkelijke beeldinformatie uit kan worden teruggerekend. Dat is geïllustreerd in de fotoserie van de vijfpuntige ster. De Amerikaanse FBI heeft zijn volledige archief van 200 miljoen kaarten met vingerafdrukken via wavelets gecomprimeerd. Het neemt daardoor niet alleen veel minder schijfruimte in, maar er kan ook veel sneller in worden gezocht.

Voor video- en audiotoepassingen wordt het meest gebruikgemaakt van MPEG. Dat is een door de Moving Picture Expert Group voor het eerst in 1991 vastgestelde standaard. Het belangrijkste kenmerk van MPEG is dat alles wat niet absoluut noodzakelijk is voor de beeld- of geluidskwaliteit wordt verwijderd. Twee opeenvolgende videobeelden of frames zullen in het algemeen een vrijwel identieke achtergrond hebben – het klassieke voorbeeld is de nieuwslezer – en die achtergrond hoeft dus maar een keer te worden opgeslagen. Verder lijken naast elkaar gelegen beeldpunten in het algemeen sterk op elkaar.

Door dus rekening te houden met de omliggende beeldpunten en verder ook te kijken hoe het beeldpunt er uitzag in het voorafgaande frame, kan al een goede schatting worden verkregen. Wanneer die afwijkt van de werkelijke waarde, wordt alleen het verschil opgeslagen.

Als dit soort principes op een volledige reeks videobeelden zou worden toegepast, zouden er problemen ontstaan omdat kleine afwijkingen in eerdere frames blijven doorwerken in alle andere. Door de MPEG-commissie is daarom een schema bedacht, waarbij steeds twaalf tot vijftien opeenvolgende videobeelden samen worden opgeslagen. Het eerste beeld dient als referentie voor alle andere en wordt dus nauwelijks gecomprimeerd. De andere worden tijdens de compressie eerst ontdaan van overtollige informatie en vervolgens gecomprimeerd. Zo kunnen videosignalen bijvoorbeeld afkomstig van een DVD zo'n vijftig keer sneller worden verwerkt.

Voor audiosignalen worden weer andere trucs toegepast. Die maken gebruik van het feit dat onze hersenen niet alle geluiden die binnenkomen ook echt verwerken: een gesprek is onder normale omstandigheden goed te volgen, maar niet als er een vliegtuig laag overkomt. Wanneer het geluid van een heel orkest wordt opgenomen, komen alle instrumenten in alle frequentiegebieden even goed tot hun recht. Maar dat betekent niet dat iemand die dezelfde opname afspeelt dat ook zo waarneemt: wanneer een sterk signaal vooraf gaat aan of volgt op een veel zwakker signaal wordt dat laatste niet door ons gehoor geregistreerd.

De mate waarin dat gebeurt is afhankelijk van de frequentie van het geluid en van de gevoeligheid van ons oor, maar daar is alles over bekend. Het is dus mogelijk om van elke fractie van een seconde muziek te bepalen wat net zo goed weggelaten kan worden. De tegenwoordig meest bekende compressietechniek voor digitaal geluid (MPEG-1/2 Layer 3, ofwel MP3) maakt gebruik van dit soort psycho-akoestische effecten. Het is op dit moment de ideale combinatie van goede geluidskwaliteit en een hoge compressie, waardoor een minuut muziek in één megabyte kan worden weggeschreven.

En daarmee houdt het niet op: MP4 komt eraan, die voor films op DVD misschien wel hetzelfde gaat doen als wat MP3 deed voor muziek op cd. Zo circuleerden er vorig jaar vier dagen na de première van The Perfect Storm, al volledige kopieën van deze film in sommige nieuwsgroepen. De MP4-technologie werd ontwikkeld voor professionele gebruikers, maar kwam in 1999 in handen van hackers die haar, ondanks de dreiging van gerechtelijke stappen, onder de naam DivX publiek beschikbaar maakten.

Na compressie neemt een DivX-film weliswaar nog altijd bijna een gigabyte in beslag – hetgeen een behoorlijke aanslag doet op opslagmedia en modem – maar de ervaring leert dat dat vanzelf beter wordt. Grootste probleem is echter dat de bestanden zo groot zijn dat het niet eenvoudig zal zijn een video-Napster op te zetten.