Mettons nous en situation (comme diraient certains humouristes...) : vous avez effectué un encodage divx, mais malheureusement des macroblocs gênants apparaîssent lors de la lecture de la vidéo encodée. Que faire ?
(juste une vérification : êtes-vous certains qu'il ne s'agit pas d'un problème d'entrelacement ? cela se résout autrement.)
1- Si les passages avec macroblocs sont très nombreux
Il est vraisemblable que vous avez encodé votre vidéo avec un (trop) bas débit vidéo. En haut débit les macroblocs sont assez rares, le mieux est sûrement que vous augmentiez fortement le débit vidéo : par exemple, passer de la capacité d'un CD à celle de deux CD... Cela va vous coûter du temps (un réencodage complet) mais vous gagnerez incontestablement en qualité !
...une autre stratégie (pas extraordinaire) consiste à réduire la résolution pour diminuer les macroblocs. Mais voilà :
-- il faut choisir un bon algorithme de réduction sinon le résultat sera mauvais à tout point de vue ;
-- diminuer un petit peu la résolution ne fera que diminuer un petit peu les macroblocs et ils seront toujours présents ;
-- diminuer fortement la résolution fera diminuer fortement les macroblocs, mais il apparaîtra alors un flou prononcé sur l'ensemble de la vidéo...
Conclusion : retour à la première solution !
2- Si les macroblocs apparaissent sur une séquence
Visiblement, pour le codec, cette séquence est difficile à encoder avec le débit vidéo global que vous lui imposer. Il va falloir aider le codec pour faire disparaître quasiment totalement les macroblocs de la séquence.
Je vous propose une solution un peu laborieuse la première fois, mais qui devient simple avec un peu d'habitude : il s'agit d'augmenter localement la qualité en indiquant au codec l'endroit où on veut réduire la quantification (quantizer plus petit = qualité plus élevée).
Note : cette méthode permet aussi de spécifier au codec d'encoder plus grossièrement certaines parties du film, par exemple les génériques si on veut.
Un autre gros intérêt de cette méthode est de ne pas modifier le débit vidéo moyen de la vidéo encodée : elle est donc très appréciable lorsque la taille de la vidéo est imposée. (Il va de soi que l'encodage se fait alors en plusieurs passes.)
Un troisième gros avantage est qu'il ne sera pas nécessaire de recommencer l'ensemble de la procédure d'encodage (pour laquelle au moins deux passes ont été nécessaires), mais seulement de réaliser une n-ième passe (à la suite des passes déjà réalisées) : cela permet de perdre un peu moins de temps par rapport à un réencodage complet ! C'est toujours ça de pas perdu...
Voici un exemple. Après un encodage bipasse, on arrive sur un passage délicat, fumées et dégradés de couleurs :
Pas vraiment belle l'image ! En fait, toute la séquence dont elle est tirée est moche, malgré deux passes d'encodage. On va donc faire en sorte que le codec mette le "paquet" sur la scène pour faire disparaître tous ces macroblocs.
L'utilitaire EKG livré avec le codec divx est là pour ça ! A la fin des deux passes, quand on constaste la mauvaise qualité d'un passage, on lance EKG : on clique sur Ouvrir de l'onglet Fichier. EKG demande un fichier journal divx : en clair il demande le fichier map.log créé lors de la compilation (regarder dans le répertoire de compilation du codec). Après lui avoir donné le fichier en question, EKG demande la vidéo divx que vous voulez améliorer.
(Si le fichier map.log ne correspond pas au fichier divx, EKG va pas être content et le signifier par un laconique << ?? >>)
Cliquer sur le bouton Permuter pour que l'image de retour prenne moins de place, et que cela rende plus lisible le reste. Ensuite, à l'aide du curseur et grâce au retour image, on repére le début et la fin de la séquence à améliorer et enfin on demande d'augmenter la qualité sur le passage en question en déplaçant la ligne orange vers la haut (vous avez compris que la déplacer vers le bas permet de diminuer la qualité d'encodage, pour les génériques par exemple...).
Sur l'exemple, j'ai demandé une augmentation de qualité entre les images 2400 et 2700, contenant évidemment l'image 2626 ci-dessus (les numéros d'images sont indiqués juste sous le graphe).
Si vous avez plusieurs séquences à améliorer, vous répétez les mêmes manip : ça va vite quand on a la souris "bien en main"...
Ensuite on enregistre les changements via Fichier/enregister (EKG va mettre à jour tout seul le fichier map.log) et on quitte EKG.
Enfin, dernière étape, on demande au logiciel d'encodage de faire une n-ième passe, en gardant bien sûr tous vos paramètres d'encodage (inutile de changer la résolution par exemple).
Constatons le résultat sur l'image 2626 (la comparaison est vite faite !) :
Pour mémoire, l'image originale :
Alors bien sûr, on peut se demander si l'augmentation de qualité sur cette séquence n'a pas un effet négatif sur le reste de la vidéo. La réponse va dans le bon sens, parce que la scène "boostée" n'est pas très longue, la perte de qualité est minime sur le reste de la vidéo. On pourrait même dire que le fait de faire une n-ième passe permet de maintenir la qualité sur l'ensemble de la vidéo...
Sur mon exemple, avec un test SSIM :
La ligne rouge correspond au niveau de qualité de l'encodage après les deux premières passes, et la ligne bleue à celui de l'encodage après la modification par EKG et une troisième passe finale.
On voit bien que :
-- sur l'ensemble de la vidéo, l'encodage modulé (la ligne bleue) est bien au niveau de l'encodage initial (la ligne rouge),
-- sur la scène images 2400-2700 (la région verte), l'encodage modulé est bien supérieur à l'encodage initiale : c'est normal, on a tout fait pour
Trés bien ton explication leon1789 , même moi j'ai compris, c'est pour dire
En tout cas merci de t'impliquer ainsi pour le forum, c'est trés sympa !!!
De rien : ça me fait plaisir de participer à un forum aussi vivant !
Tant qu'il y aura des personnes comme toi pour y mettre de l'animation, je ne me fais pas de bile
Oui c'est vrai!!
C'est sympa Leon!!!
(oui mic te l'a déja dit, et je te l'ai déja dit sur un autre poste, mais bon!!!)
J'espère que cela va venir de lui même
Oui c'est important le café
A la tienne
Forcément, si tu n'utilises pas de filtre, c'est difficilement buvable
on recrache par saccades???
Oula ça part en vrille
Blague à part, ce serait bien de le post-it'er ce sujet non??
ben ouais.
sympa ce tuto Leon^^
EKG est-il compatible avec xvid et si oui le fichier map.log sous dvix porte le meme nom sous xvid et il a le meme chemin d'acces?
ok tanpis snif, ct bien pratique tout de meme pour cibler soit-meme.
c'est toujours bon a savoir^^
Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)