Encodage H.264 - CPU vs GPU : Nvidia CUDA, AMD Stream, Intel MediaSDK et x264 en test

Publié le 28/04/2011 par
Envoyer Imprimer

Cyberlink MediaEspresso, Avatar 720p (1/4)
Proposé par l'éditeur de PowerDVD, Cyberlink MediaEspresso (en version 6.5.1229, abrégé CME dans nos graphiques) surfe également sur la vague du transcodage de vidéo. L'application dispose d'une interface assez amusante et animée. On retrouve en haut de l'écran l'accès à des preset établis pour les smartphones, lecteurs multimedia, consoles de jeu ou sites Internet.


Nous avons pour nos tests crées deux profils pour le 720p et le 1080p en maximisant toutes les options de qualité disponibles. Au rang des très bonnes nouvelles, l'application de Cyberlink permet d'activer l'accélération GPU au choix pour les phases de décodage, d'encodage, ou pour les deux (voir notre explication page 2).

Avatar 720p


Les bonnes nouvelles s'arrêtent assez vite lorsque l'on regarde les caractéristiques des encodages réalisés. D'abord, seul le profil baseline est géré. Ce qui ne devrait pas aider du côté de la qualité, nous l'avons vu avec le logiciel d'Arcsoft, le profil baseline est fortement désavantagé à bitrate égal dans les scènes d'action. Ensuite il y a des bitrates surprenants. Les encodeurs CUDA et MediaSDK de Cyberlink utilisent ainsi un bitrate constant, soit exactement 4Mb pour chaque seconde. Une telle stratégie ne va pas aller dans le sens de la qualité (souvenez vous de l'intérêt des deux passes !). Ensuite, le mode « Quick » disponible lorsque l'on utilise un HD 3000 (matérialisé par un Q dans nos graphiques ci-dessous) pour l'encodage réduit le bitrate sans rien nous demander. Le GOP, enfin, est statique, et au rang des performances, c'est l'encodeur processeur une fois de plus qui est devant tous les autres ! Pour terminer, les Radeon plantent systématiquement lorsque l'on tente d'encoder avec eux notre scène via une accélération GPU. Un problème que nous avons reproduits avec l'encodeur AVIVO d'AMD qui est ici utilisé.


Côté temps d'encodages, on notera que le décodage par la carte graphique accélère les encodeurs CPU, mais ralentit les encodeurs GPU ! Les versions encode sont plus rapides que les versions Full…

Vérifions tout cela en pratique dans notre première scène d'Avatar.

Utilisez un navigateur compatible HTML5 pour voir le graphique !
Cliquez ici pour voir le graphique PSNR de cette scène.


Comme vous pouvez le voir, l'échelle de notre graphique est fortement rétrécie ! En cause, les encodeurs d'Intel en version Full qui font des pointes complètement anormales vers le bas. Traitons leur cas de suite, la raison de ces chutes est assez simple à comprendre :


On peut espérer qu'il s'agisse d'un bug, d'autant que ces artefacts n'apparaissent ni dans la version décodage pur, ni dans la version encodage pur du HD3000 ! Si vous cliquez sur ces deux encodages dans nos graphiques, l'échelle redevient normale. Comme on pouvait s'y attendre, si l'on active uniquement la partie décodage de l'accélération GPU, tous les encodeurs ont des performances globalement identiques, avec tout de même une infime variation sur les modèles GeForce par rapport au reste. Les trois encodeurs (CPU, CUDA encode, MediaSDK encode) souffrent du GOP dynamique lors du changement de scène vers l'image 363. Vérifions tout cela en images :

Cliquez-ici pour afficher le comparateur d'images dans un nouvel onglet.


Nous sommes ici dans le royaume du flou, particulièrement sur l'encodeur HD 3000 lorsque l'on regarde les détails de la peau, la végétation ou tout simplement les visages. Dix images après un changement de scène, l'absence de GOP dynamique et de détection de nouvelles scènes crée des sauts de qualité insoutenables pour les yeux. La version CUDA de l'encodeur de Cyberlink n'a pas l'aspect bouillie de celui d'Arcsoft, c'est un plus !

Passons à notre seconde scène remplie de flou de mouvement.

Utilisez un navigateur compatible HTML5 pour voir le graphique !
Cliquez ici pour voir le graphique PSNR de cette scène.


Pas de pic anormal de performances vers le bas, les résultats semblent plutôt homogènes même si l'encodeur CUDA est un petit cran derrière. Vérifions en images :

Cliquez-ici pour afficher le comparateur d'images dans un nouvel onglet.


Les résultats sont assez faibles en matière de netteté (et donc de conservation de détails) dans chacun des cas. On notera des artefacts au dessus de la grille particulièrement présents sur les versions GeForce/HD 3000. Voyons comment les choses évoluent dans des scènes détaillées.
Vos réactions

Top articles