Somme des différences absolues transformées
La Somme des différences absolues transformées ou SATD pour Sum of absolute transformed differences est une mesure très utilisée en compression vidéo pour évaluer la qualité vidéo d'un bloc pendant l'exécution de l'estimation de mouvement. Cette étape constitue avec la compensation de mouvement l'encodage d'une image par prédictions inter ou prédictions temporelles. En résumé, l'estimation de mouvement permet de chercher dans une image de référence les blocs similaires au bloc à encoder (bloc source) afin de profiter des redondances temporelles et d'encoder seulement le mouvement à partir du vecteur qui les relie et la différence de contenu entre le bloc source et le meilleur de blocs recherchés. Le choix du meilleur bloc est réalisé à partir d'une mesure d'évaluation telle que la SATD. En général, le bloc choisi est celui dont la distorsion avec le bloc source est minimale.
La SATD est calculée à partir d'un bloc de résidus qui correspond à la différence de pixel entre le bloc choisi et le macrobloc source, auquel on applique une transformée dans le domaine fréquentiel, souvent une transformée de Hadamard. Chaque composante du bloc résiduel ainsi transformé est additionnée en valeur absolue afin d'obtenir la SATD. La transformée en elle-même est souvent exécutée à partir de petits blocs plutôt qu'au niveau du macrobloc entier pour des raisons de performances temporelles. Par exemple, dans le codec x264, des séries de blocs 4x4 sont transformées plutôt que réaliser une transformée au niveau bloc 16x16 bien trop gourmande en CPU.
Comparaison avec d'autres mesures
[modifier | modifier le code]La SATD est plus lente que la plupart des mesures dont la somme des différences absolues (SAD), à la fois à cause de sa plus grande complexité et du fait que des instructions MMX et SSE2 spécifiques à la SAD existent permettant d'être plus rapide que la SATD qui n'en possède pas. Cependant, la SATD peut également être optimisé considérablement avec des instructions de type SIMD sur des CPUs plus modernes. L'avantage majeur de la SATD est sa qualité de prédiction plus précise à la fois sur des critères d'un point de vue objectif (PSNR ou SSIM) que d'un point de vue subjectif comme l'œil humain. Ainsi, elle est souvent utilisée par des encodeurs vidéo, comme une manière d'estimer la distorsion explicitement, tel que l'encodeur de Theora (depuis la version 1.1 alpha2), mais aussi en tant que mesure optionnelle pour la recherche étendue de mouvement, que l'on trouve dans l'encodeur VC-1 de Microsoft. En x264, elle permet d'établir une précision des vecteurs de mouvement au sous-pixel : demi-pixel ou quart de pixel.
Références
[modifier | modifier le code]- (en) E. G. Richardson, H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia, Chichester, John Wiley & Sons Ltd., (ISBN 0-470-84837-5)
- (en) Thomas Wiegand, Gary J. Sullivan, « “Overview of the H.264/AVC Video Coding Standard », sur ip.hhi.de, IEEE, (consulté le )
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Sum of absolute transformed differences » (voir la liste des auteurs).
Annexes
[modifier | modifier le code]Articles connexes
[modifier | modifier le code]- Transformée de Hadamard
- Estimation de mouvement
- Algorithme de block-matching
- Optimisation débit-distorsion