Qu’est-ce que le transcodage sur GPU ?
Le transcodage sur GPU utilise du matériel dédié au traitement graphique ou multimédia pour décoder, filtrer et encoder la vidéo. Le matériel parallèle peut fournir un débit de traitement élevé ou une latence plus faible pour les opérations prises en charge.
Fonctionnement du transcodage sur GPU
Le transcodage sur GPU déplace les étapes adaptées d’une chaîne de traitement vidéo vers des blocs multimédias à fonctions fixes ou des processeurs massivement parallèles. La prise en charge du décodage, de la mise à l’échelle, de la conversion des couleurs, du filtrage et de l’encodage peut provenir de différentes unités matérielles ; un parcours entièrement effectué sur l’accélérateur n’est donc pas garanti. Éviter les transferts entre la mémoire de l’hôte et celle de l’accélérateur est souvent essentiel au débit de traitement. Les services multimédias utilisent cette approche pour les échelles de variantes en direct, la génération d’aperçus et les conversions à grand volume lorsque les formats demandés conviennent bien à l’accélérateur.
Points clés
- Les noms des codecs ne suffisent pas à établir leur prise en charge : un appareil peut décoder un profil, une profondeur de couleur ou un format de chrominance que son encodeur matériel ne peut pas produire, ce qui nécessite un repli logiciel ou une conversion des pixels.
- Les performances dépendent des limites de sessions simultanées, de la bande passante de la mémoire de l’accélérateur et des transferts d’images, autant que de la puissance de calcul brute ; faire transiter chaque image par la mémoire système peut annuler les gains de l’accélération.
- Les encodeurs matériels et logiciels proposent des modes de contrôle du débit et des réglages différents ; un débit binaire identique ne garantit donc pas une conservation des détails, une latence ou un placement des images clés identiques.
Quand le transcodage sur GPU a son importance
Les développeurs choisissent le transcodage sur GPU pour les charges de traitement à grand volume ou sensibles à la latence, après avoir vérifié la prise en charge des codecs et des filtres. Les encodeurs matériels peuvent privilégier la vitesse au détriment de l’efficacité de compression ou de la qualité.