deze en volgende pagina als PDF

 

 
 

Videocompressie uitgelegd

 
 

- Waarom worden (video)files gecompresseerd

- Lossless / lossy compressie

- inter/intra compressie

- containers vs. codecs

 

 

 



 
 

Waarom worden (video)files gecompresseerd

Om een lang en technisch verhaal kort te houden : omdat niet gecompresseerde videofiles te groot worden. Dat geeft problemen bij opslag en (data)transport.
Vergelijk het met de ochtendfiles : vijftig mensen moeten van Gent naar Brussel. Elk neemt zijn eigen wagen, en staat uiteraard in de file, en er moet parkeerruimte gezocht worden voor vijftig auto's.
Stel dat we die mensenstroom "compresseren"; we zetten in elke auto vijf mensen, resultaat : 10 auto's op de baan en geen 50, en slechts 10 i.p.v. 50 parkeerplaatsen te zoeken.

Net zoals in het autovoorbeeld het comfort wordt opgegeven ten voordele van de snelheid, zal bij video compressie de kwaliteit omgekeerd evenredig zijn aan de compressie, m.a.w. hoe hoger de compressie, hoe lager de kwaliteit als we tenminste geen rekening houden met de kwaliteit en het doel van de compressor, zo kan je bv. Apple ProRes niet vergelijken met H.264, omdat beide systemen een totaal ander principe hanteren, en ook voor totaal verschillende doelen gebruikt worden).

Hieronder een rekenvoorbeeldje

 

 
 
formaat : 1920 x 1080 = 2073600 Pixels
per RGB kleur x 3 = 6220800
bits per kleur x 8 = 49766400 bits
/1024 = 48600 Kb
/1024 = 47,4 Mb
x 25 fr/sec = 1186 Mb/sec
x 60 sec/min = 71160 Mb/min
69,5 Gb/min

Om één minuut beeldmateriaal op te slaan zou je dus een kleine 9 gigabyte opslagruimte moeten hebben.
Vergelijk dat even met de reële waarden van diverse gecompresseerde formaten hier

 
 

 

Lossless / lossy compressie

De meeste mensen zullen wel vertrouwd zijn met RAR en/of ZIP files. Dat zijn twee voorbeelden van lossless compressie. M;a.w. de data wordt gecompresseerd zonder dat de kwaliteiit gecompromiteerd wordt. De originele file en de gezipte/unzipte file zijn bit voor bit identiek. O.a. omdat deze operatie zeer CPU-intensief en dus relatief traag is, wordt deze vorm van compressie niet toegepast voor video.

voorbeelden van een Lossy compressie:

Een mogelijke manier om de filesize te reduceren zou zijn om het beeld te definiëren met minder pixels, helaas leidt dat zeer snel tot onacceptabele kwaliteit.
in de voorlaatste kolom het percentage gebruikte pixels t.o.v. het origineel, in de laatste kolom de filesize.

foto ingezoomd %

size

100

17,1 MB

50 8,3 MB
25 5,9 MB

10

2,5 MB

5

1,4 MB
1 729 KB

 

JPEG gebruikt een veel intelligentere en eficiëntere manier om filesize te reduceren met minimaal kwaliteitsverlies maar toch niet lossless

voorbeeld :
in de voorlaatste kolom het percentage gebruikte pixels t.o.v. het origineel, (gecompresseerd in/met Photoshop), in de laatste kolom de filesize

foto ingezoomd %

size

100 17,1 MB
50 3,4 MB
25 1,9 MB
10 1,4 MB
1 1 MB

 

 

aantal pixels gereduceerd jpeg %
100
50
25
10
5
1

 

 

 

inter/intra compressie

De tweede reeks (JPEG compressie) is een voorbeeld van intra-frame compressie, alle video codecs maken daar in een of andere vorm gebruik van. Om beter te begrijpen hoe dat soort compressie in zij werk gaat gebruik ik even een "taal" voorbeeld.

 

 

probeer de zinnen hieronder te reconstrueren, maak daarbij gebruik van een aantal regels die van tevoren zijn vastgelegd, namelijk

 
 
    1. de taal is Nederlands
    2. de grammatica is Nederlands
    3. de woorden worden van mekaar gescheiden door een underscore
    4. elke lijn is een nieuwe zin
    5. als een lijn begint met + wordt de vorige lijn herhaald en de woorden na + toegevoegd (met inachtname van regels 1 en 2)
 
 




 
 

 

d_koe_stt_in_d_wei
+bruine
+groene
+t_grzen
     
           
  Deze regels kunnen we zien als de codec (= samentrekking van CODing en DECoding): een set van afspraken die gemaakt zijn i.v.m. de gebruikte manier van coderen, zodat we diezelfde regels kunnen toepassen bij het decoderen. Net zoals je hier een aantal andere regels kan gebruiken (bv. de taal is engels, we laten alle klinkers weg, spaties worden weggelaten, ...) zullen we ook in video-compressie verschillende codecs tegenkomen (MPEG-1, MPEG-2, H.264, DivX, DV-pal, ....) waarbij de ene codec al efficiënter zal zijn dan de andere.
Het mag duidelijk zijn dat we niet kunnen decoderen als we niet over de juiste codec beschikken. Stel dat we ons niet bewust zijn van regel één : " de taal is nederlands", dan zal het nagenoeg onmogelijk zijn om bovenstaande informatie te interpreteren.
     
         
  voor de oplossing en de verdere uitleg klik hier