TopTechnisch woordenboekCompressie

Compressie

Basisbegrippen

 

De originele gegevens van beelden en video-opnamen die worden opgeslagen in RGB-formaat bevatten overbodige en irrelevante informatie. Overbodige informatie kan gereconstrueerd worden op basis van andere gegevens over hetzelfde beeld. Irrelevante informatie is informatie waarvan het verwijderen geen merkbare verslechtering van de beeldkwaliteit oplevert. Compressie-algoritmen zijn zodanig geconstrueerd dat ze automatisch beoordelen welke irrelevante informatie vervorming veroorzaakt die nauwelijks merkbaar is voor de kijker. De mogelijke compressiegraad is in hoge mate afhankelijk van de inhoud van het beeld, maar ook van het acceptabele verlies aan beeldkwaliteit. In de onderstaande grafiek (afb. 1) is de theoretische afhankelijkheid van de gegevensstroom en vervorming weergegeven.

 

Afb. 1. Vervorming van het beeld als functie van de omvang van de gegevensstroom

 

A - Gegevensstroom B - Vervorming

Bij compressie maken we onderscheid tussen intra-framecompressie en inter-framecompressie. In het eerste geval wordt het hele beeld gecodeerd, onafhankelijk van de overige frames in de sequentie. In het tweede geval is de codering van een frame afhankelijk van de voorafgaande en volgende frames.

 

Kleurweergave

 

Meestal worden kleurenbeelden gecomprimeerd. Op de monitors wordt een beeld opgebouwd door het mengen van de drie basiskleuren: rood, groen en blauw (RGB). Elke pixel wordt vertegenwoordigd door de som van deze drie samenstellende delen. Helaas hebben deze gegevens een enorme omvang. Vanwege de specifieke eigenschappen van het menselijk oog is het beter om de gegevens te registreren in de vorm van de luminantie Y en de twee kleurverschilcomponenten Cr en Cb, waarbij:

 

Y = 0.299R + 0.587G + 0.114B,
Cb = 0.564(B-Y), Cr = 0.713(R-Y). 

De winst wordt gemaakt omdat het menselijk oog het meest gevoelig is voor wijzigingen in de punten die worden vertegenwoordigd door de luminantie, en minder voor kleuren die worden vertegenwoordigd door chrominantie. Het chrominantiesignaal kan daarom gedecimeerd worden. Al in analoge televisiesystemen als PAL, SECAM of NTSC is gebruik gemaakt van deze eigenschappen en is voor het verzenden van het chrominantiesignaal een circa tweemaal smallere band gereserveerd, zonder dat de beeldkwaliteit merkbaar vermindert.

 

Intra-framecompressie

 

De kern van de moderne intra-framecompressietechnieken is het feit dat het spectrum van het videosignaal sterk is geconcentreerd rond de laagste frequenties. Het is daarom voldoende om het spectrum van het signaal te berekenen en slechts een kleine hoeveelheid factoren op te slaan die van wezenlijk belang zijn (voornamelijk die met de laagste frequenties), voor de opslag van de overige (voornamelijk die met de hoogste frequenties) is slechts een kleine hoeveelheid bits nodig.

 

In de praktijk wordt een beeld verdeeld in blokken van 8x8 punten en de cosinustransformatie berekend (gemodificeerde Fouriertransformatie). De verkregen reeks wordt gedeeld via een speciale kwantiseringstabel. Het resultaat van deze operatie zijn vele, zich herhalende nullen. De verkregen representatie wordt weggeschreven in paren van het type: aantal nullen, waarde van de coëfficiënt die niet gelijk is aan nul. Het verkregen resultaat wordt opgeslagen met behulp van codes met een wisselende bitlengte. Dit betekent dat paren die vaker voorkomen worden toegeschreven aan codes met een kleinere hoeveelheid bits, en degene die minder vaak voorkomen aan codes met een grotere hoeveelheid bits.

 

Inter-framecompressie

 

De kern van inter-framecodering is het gebruik van het feit dat een voorafgaand en volgend frame in de videosequentie meestal zeer vergelijkbaar zijn. Het is daarom voldoende om alleen de predictiefout te versturen, namelijk het verschil tussen het beeld en het voorspelde beeld. In de eenvoudigste situatie wordt voorspeld dat het volgende beeld identiek is aan het voorgaande.

 

In meer geavanceerde codecs wordt voor de predictie gebruik gemaakt van bewegingscompensatie. Voor vierkanten van 16x16 luminantiemonsters worden de vierkanten in het volgende beeld gezocht die daar het meest op lijken. De verschillen in ligging van deze vierkanten zijn de bewegingsvectoren. Met of zonder gebruik van bewegingscompensatie wordt afhankelijk van de codec een voorspeld beeld gegenereerd dat wordt vergeleken met het daadwerkelijke beeld. Het verschil wordt dezelfde wijze als bij intra-framecodering gecodeerd en naar de ontvanger gezonden.

 

Afb. 2. Beweging bij inter-framecodering

 

A - Blok van 16x16 pixels in het voorgaande beeld B - Het meest vergelijkbare blok van 16x16 pixels in het actuele beeld