Gebruikers stellen steeds meer eisen aan de videosequenties die hen aangeboden worden. Het decoderen van deze videosequenties vergt bijgevolg veel rekenkracht die niet altijd beschikbaar is. Massief-parallelle verwerkingsplatformen, zoals de Graphics Processing Unit of GPU, bevatten honderden rekenkernen en kunnen zo meer rekenkracht aanbieden. De algoritmen die op deze platformen draaien moeten echter de rekenkernen kunnen voorzien van parallel rekenwerk. Videodecoderingsalgoritmen zijn niet voorzien in het fijnkorrelig dataparallellisme dat noodzakelijk is om de aangeboden rekenkernen ten volle te benutten.
Dit proefschrift onderzoekt hoe de massief-parallelle architectuur van de GPU ingezet kan worden om het decoderen van H.264/AVC-videostromen te versnellen. Een aantal nieuwe fijnkorrelige parallelle verwerkingsalgoritmen worden voorgesteld die zorgen voor een significante versnelling van het decoderingsproces.
Eerst wordt de H264/AVC-standaard geanalyseerd en worden afhankelijkheden tussen berekeningen in kaart gebracht. Twee decoderingsstappen, de antiblokfilter en intradecodering, worden geïdentificeerd als bottleneck-berekeningen voor parallelle verwerking. Na analyse van de antiblokfilter wordt een nieuw fijnkorrelig parallellisatieschema voorgesteld dat toelaat om alle macroblokken in een beeld tegelijk te filteren. Vervolgens wordt een nieuw fijnkorrelig intradecoderingsalgoritme voorgesteld dat toelaat om monsterwaarden binnen een beeld in parallel te berekenen voor de H.264/AVC-, MPEG-2 Video-, en JPEG XR-standaard. Beide algoritmen resulteren in een snellere parallelle decodering van een videobeeld. | |