sérieux, des sujets ou des avis sur le macro-blocking, je crois qu’il y a de tout mais je pense
surtout qu’il y a beaucoup d'ignorance.
Le macro-blocking apparaît principalement à cause des trames de type "I". Et effet ces dernières
peuvent être considérées comme de simples images JPEG. Et dans une image JPEG trop
compressée, que voyons-nous ? Du macro-blocking. C’est un artefact tout à fait normal dû à la
fois au couple DCT/iDCT travaillant sur des blocs de 8x8 pixels et au processus de destruction
des données.
En effet tout comme l’audio, dans le format MPEG-2 Vidéo, ce n’est pas le décodeur qui altère
l’image, mais bien l’encodeur. Ce dernier décide de la stratégie à adopter pour la réduire la
qualité de tels détails ou telles zones dans l’image. Cette stratégie n’étant évidemment pas
connu de nous. Mais ce qu’il faut retenir, c’est que certains encodeurs augmentent privilégient
la qualité des zones "claires", donc les zones sombres sont de moins bonnes qualité. A noter
également que les encodeurs vidéos MPEG2 travaillent en débit variable… Pour ceux qui ont
TMPGEnc, vous pouvez faire l’essai d’une comparaison de Vidéo en CBR à 5Mbits/s en mode
très rapide et la même vidéo en mode CBR ou mieux VBR à 3 ou 4 Mbits/s (en moyenne) en
mode très lent. Le résultat est toujours très intéressant.
Ce qu’il faut toujours garder à l’esprit : Dans la plus grande majorité des cas (si ce n’est tous),
les encodeurs essayent de simuler les paramètres de perception visuelle de notre couple
yeux/cerveau. Sauf que ces modèles de perception ont été élaborés à partir de rendu sur de
petits écrans (1m de diagonale max).
En utilisant l’encodeur JPEG de Photoshop et en réglant la qualité voici ce qu’on l’obtient…
On va bien voir le macro-blocking sur les images (le ciel en haut à droite), et on va également
voir le signal de chrominance dont la résolution est plus faible influer très nettement sur la
qualité d’image (transition du rouge et du noir).
Image originale
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds.jpg)
Qualité 15% pour 15Ko
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds15-15k.jpg)
Qualité 20% pour 21Ko
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds20-21k.jpg)
Qualité 30% pour 26Ko
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds30-26k.jpg)
Qualité 40% pour 34Ko
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds40-34k.jpg)
Qualité 50% pour 46Ko
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds50-46k.jpg)
Qualité 60% pour 70Ko
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds60-70k.jpg)
On voit bien le rendu varier et les différents artefacts diminuer selon le niveau de qualité. C’est
tout à fait logique…
Intéressons-nous maintenant au principal problème que je soulève à travers ce sujet : le
macro-blocking sur les scènes sombres. Pour ce faire, j’utilise encore la même image mais je la
retravaille un peu :
Je réduit sa courbe globale (RGB) à 50%, 25% ou 12,5% et je la stocke au format JPEG. Enfin,
j’ouvre l’image et je restaure la courbe initiale…
Ce petit test permet de bien mettre en évidence l’artefact qui nous intéresse : Les zones les
plus sombres seront "terriblement" altérées et les plus claires resterons "acceptables". Pour
accentuer encore le phénomène et bien le comprendre, deux images seront générées : La
première en mode qualité à 20%, la deuxième en mode taille 21Ko. Pour accompagner ces
deux images, une "référence" est utilisée, et a subit elle aussi la modification de courbe RGB
(on a donc perdu en quantification…).
Il est important de noter que l’image de référence compressée en qualité 20% atteint une taille
de 21Ko.
Aucune réduction de courbe Référence / Taille 21Ko / Qualité 20% (21Ko)
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds.jpg)
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds20-21k.jpg)
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds20-21k.jpg)
Réduction de la courbe à 50% Référence / Taille 21Ko / Qualité 20% (11Ko)
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds-lowcomp.jpg)
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds21k-lowcomp.jpg)
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds20-11k-lowcomp.jpg)
Réduction de la courbe à 25% Référence / Taille 21Ko / Qualité 20% (6Ko)
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds-verylowcomp.jpg)
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds21k-verylowcomp.jpg)
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds20-6k-verylowcomp.jpg)
Réduction de la courbe à 12,5% Référence / Taille 21Ko / Qualité 20% (4Ko)
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds-verylow2comp.jpg)
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds21k-verylow2comp.jpg)
![Image](http://kristahl.design.free.fr/Perso/MacroBlocking/cds20-4k-verylow2comp.jpg)
Il apparaît donc très clairement que le décodeur fait bien son travail (c’est bien son but), il ne
fait qu’exécuter les données qui ont été placées par l’encodeur. On voit clairement que la
stratégie n’est pas du tout adaptée aux zones où la luminosité est très faible. Il en est de même
si l’image elle-même est très sombre.
Alors, quelque soit les problèmes de macro-blocking qui apparaîssent, ils sont bien "normaux"
et doivent être présents ! Un décodeur qui les supprime s’exposent à un risque : Le fait de
rendre flou un bloc peut amener à une qualité moindre que celle prévue par l’encodeur, ce
dernier se référant toujours à ce que l’utilisateur doit voir. Si tel est le cas, le décodeur n’est
plus compatible avec la norme établie.
Tous les filtres et autres techniques ajoutées dans un lecteur pour réduire le "macro-blocking"
peuvent être bénéfiques mais doivent être débrayables pour permettre de retrouver la qualité
initiale.